diff --git a/src/main/java/gregicality/science/api/recipes/GCYSRecipeMaps.java b/src/main/java/gregicality/science/api/recipes/GCYSRecipeMaps.java index d4b36792..8b5a9d7a 100644 --- a/src/main/java/gregicality/science/api/recipes/GCYSRecipeMaps.java +++ b/src/main/java/gregicality/science/api/recipes/GCYSRecipeMaps.java @@ -4,6 +4,7 @@ import gregicality.science.api.recipes.builders.NoCoilTemperatureRecipeBuilder; import gregicality.science.api.recipes.builders.PressureRecipeBuilder; import gregicality.science.api.recipes.builders.TemperaturePressureRecipeBuilder; +import gregicality.science.api.recipes.machines.RecipeMapSuprachronalAssembler; import gregicality.science.client.render.GCYSGuiTextures; import gregtech.api.GTValues; import gregtech.api.gui.GuiTextures; @@ -97,6 +98,10 @@ public class GCYSRecipeMaps { .setSlotOverlay(true, false, true, GuiTextures.DUST_OVERLAY) .setSound(GTSounds.MACERATOR); + public static final RecipeMapSuprachronalAssembler SUPRACHRONAL_ASSEMBLER_RECIPES = (RecipeMapSuprachronalAssembler) new RecipeMapSuprachronalAssembler<>("suprachronal_assembler_recipes", 1, 16, 0, 1, 0, 4, 0, 0, new SimpleRecipeBuilder(), false) + .setProgressBar(GuiTextures.PROGRESS_BAR_ASSEMBLY_LINE, ProgressWidget.MoveType.HORIZONTAL) + .setSound(GTSounds.REPLICATOR); + // Generators public static final RecipeMap TARANIUM_REACTOR_MK1_RECIPES = new RecipeMap<>("taranium_reactor_mk1_recipes", 0, 0, 0, 0, 1, 1, 0, 0, new FuelRecipeBuilder(), false) diff --git a/src/main/java/gregicality/science/api/recipes/machines/RecipeMapSuprachronalAssembler.java b/src/main/java/gregicality/science/api/recipes/machines/RecipeMapSuprachronalAssembler.java new file mode 100644 index 00000000..211bc335 --- /dev/null +++ b/src/main/java/gregicality/science/api/recipes/machines/RecipeMapSuprachronalAssembler.java @@ -0,0 +1,68 @@ +package gregicality.science.api.recipes.machines; + +import gregtech.api.capability.impl.FluidTankList; +import gregtech.api.gui.GuiTextures; +import gregtech.api.gui.ModularUI; +import gregtech.api.gui.widgets.ProgressWidget; +import gregtech.api.recipes.RecipeBuilder; +import gregtech.api.recipes.RecipeMap; +import net.minecraftforge.items.IItemHandlerModifiable; + +import javax.annotation.Nonnull; + +public class RecipeMapSuprachronalAssembler> extends RecipeMap { + + public RecipeMapSuprachronalAssembler(String unlocalizedName, + int minInputs, int maxInputs, int minOutputs, int maxOutputs, + int minFluidInputs, int maxFluidInputs, int minFluidOutputs, int maxFluidOutputs, + R defaultRecipe, boolean isHidden) { + super(unlocalizedName, minInputs, maxInputs, minOutputs, maxOutputs, minFluidInputs, maxFluidInputs, minFluidOutputs, maxFluidOutputs, defaultRecipe, isHidden); + } + + @Override + @Nonnull + public ModularUI.Builder createJeiUITemplate(IItemHandlerModifiable importItems, IItemHandlerModifiable exportItems, FluidTankList importFluids, FluidTankList exportFluids, int yOffset) { + ModularUI.Builder builder = ModularUI.builder(GuiTextures.BACKGROUND, 176, 176) + .widget(new ProgressWidget(200, 80, 1, 54, 72, GuiTextures.PROGRESS_BAR_ASSEMBLY_LINE, ProgressWidget.MoveType.HORIZONTAL)); + this.addInventorySlotGroup(builder, importItems, importFluids, false, yOffset); + this.addInventorySlotGroup(builder, exportItems, exportFluids, true, yOffset); + return builder; + } + + @Override + protected void addInventorySlotGroup(ModularUI.Builder builder, @Nonnull IItemHandlerModifiable itemHandler, @Nonnull FluidTankList fluidHandler, boolean isOutputs, int yOffset) { + int itemInputsCount = itemHandler.getSlots(); + int fluidInputsCount = fluidHandler.getTanks(); + boolean invertFluids = false; + if (itemInputsCount == 0) { + int tmp = itemInputsCount; + itemInputsCount = fluidInputsCount; + fluidInputsCount = tmp; + invertFluids = true; + } + int[] inputSlotGrid = determineSlotsGrid(itemInputsCount); + int itemSlotsToLeft = inputSlotGrid[0]; + int itemSlotsToDown = inputSlotGrid[1]; + int startInputsX = 80 - itemSlotsToLeft * 18; + int startInputsY = 37 - (int) (itemSlotsToDown / 2.0 * 18); + + if (!isOutputs) { + for (int i = 0; i < itemSlotsToDown; i++) { + for (int j = 0; j < itemSlotsToLeft; j++) { + int slotIndex = i * itemSlotsToLeft + j/* + 1*/; // needed for data slot + addSlot(builder, startInputsX + 18 * j, startInputsY + 18 * i, slotIndex, itemHandler, fluidHandler, invertFluids, false); + } + } + if (fluidInputsCount > 0 || invertFluids) { + if (itemSlotsToDown >= fluidInputsCount) { + int startSpecX = startInputsX + 18 * 5; + for (int i = 0; i < fluidInputsCount; i++) { + addSlot(builder, startSpecX, startInputsY + 18 * i, i, itemHandler, fluidHandler, true, false); + } + } + } + } else { + addSlot(builder, startInputsX + 18 * 4, 1, 0/*18*/, itemHandler, fluidHandler, invertFluids, true); // Output Slot - 18 for data slot + } + } +} diff --git a/src/main/java/gregicality/science/api/unification/materials/GCYSElementMaterials.java b/src/main/java/gregicality/science/api/unification/materials/GCYSElementMaterials.java index 0c2924fd..ce028ff7 100644 --- a/src/main/java/gregicality/science/api/unification/materials/GCYSElementMaterials.java +++ b/src/main/java/gregicality/science/api/unification/materials/GCYSElementMaterials.java @@ -61,7 +61,7 @@ public static void init() { .build(); Taranium = new Material.Builder(3106, "taranium") - .dust() + .ingot().fluid() .color(0x4F404F).iconSet(METALLIC) .element(GCYSElements.Tn) .build(); diff --git a/src/main/java/gregicality/science/api/unification/materials/GCYSMaterials.java b/src/main/java/gregicality/science/api/unification/materials/GCYSMaterials.java index 2ed33181..2ca86661 100644 --- a/src/main/java/gregicality/science/api/unification/materials/GCYSMaterials.java +++ b/src/main/java/gregicality/science/api/unification/materials/GCYSMaterials.java @@ -295,6 +295,9 @@ public class GCYSMaterials { public static Material LightHyperFuel; public static Material MediumHyperFuel; public static Material HeavyHyperFuel; + public static Material QCDConfinedMatter; + public static Material ReissnerNordstromMatrix; + public static Material SentientMetal; /** diff --git a/src/main/java/gregicality/science/api/unification/materials/GCYSUnknownCompositionMaterials.java b/src/main/java/gregicality/science/api/unification/materials/GCYSUnknownCompositionMaterials.java index 92318abd..3b197084 100644 --- a/src/main/java/gregicality/science/api/unification/materials/GCYSUnknownCompositionMaterials.java +++ b/src/main/java/gregicality/science/api/unification/materials/GCYSUnknownCompositionMaterials.java @@ -5,7 +5,7 @@ import static gregicality.science.api.unification.materials.GCYSMaterials.*; import static gregtech.api.unification.material.Materials.*; -import static gregtech.api.unification.material.info.MaterialFlags.DISABLE_DECOMPOSITION; +import static gregtech.api.unification.material.info.MaterialFlags.*; import static gregtech.api.unification.material.info.MaterialIconSet.FINE; import static gregtech.api.unification.material.info.MaterialIconSet.ROUGH; @@ -128,5 +128,22 @@ public static void init() { MediumHyperFuel = new Material.Builder(18055, "medium_hyper_fuel").fluid().color(0xDC0A0A).build(); HeavyHyperFuel = new Material.Builder(18056, "heavy_hyper_fuel").fluid().color(0x1E5064).build(); + + QCDConfinedMatter = new Material.Builder(18057, "qcd_confined_matter") + .ingot() + .color(0xc82828) + .flags(NO_UNIFICATION, GENERATE_PLATE, GENERATE_ROD) + .build(); + + ReissnerNordstromMatrix = new Material.Builder(18058, "reissner_nordstrom_matrix") + .ingot() + .color(0x0a0a0a) + .flags(NO_UNIFICATION, GENERATE_PLATE, GENERATE_FRAME) + .build(); + + SentientMetal = new Material.Builder(18059, "sentient_metal") + .fluid() + .color(0x0c0c0c) + .build(); } } diff --git a/src/main/java/gregicality/science/client/render/GCYSTextures.java b/src/main/java/gregicality/science/client/render/GCYSTextures.java index 8a4dc925..106f9852 100644 --- a/src/main/java/gregicality/science/client/render/GCYSTextures.java +++ b/src/main/java/gregicality/science/client/render/GCYSTextures.java @@ -2,6 +2,7 @@ import gregicality.science.GregicalityScience; import gregtech.client.renderer.texture.cube.OrientedOverlayRenderer; +import gregtech.client.renderer.texture.cube.SimpleOverlayRenderer; import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.client.renderer.texture.TextureMap; import net.minecraft.util.ResourceLocation; @@ -29,6 +30,9 @@ public class GCYSTextures { public static OrientedOverlayRenderer SUPERSONIC_AXIAL_COMPRESSOR_OVERLAY = new OrientedOverlayRenderer("multiblock/supersonic_axial_compressor", FRONT); public static OrientedOverlayRenderer LOW_POWER_TURBOMOLECULAR_PUMP = new OrientedOverlayRenderer("multiblock/low_power_turbomolecular_pump", TOP); public static OrientedOverlayRenderer HIGH_POWER_TURBOMOLECULAR_PUMP = new OrientedOverlayRenderer("multiblock/high_power_turbomolecular_pump", TOP); + public static OrientedOverlayRenderer SUPRACHRONAL_OVERLAY = new OrientedOverlayRenderer("multiblock/suprachronal_assembler", FRONT); + + public static SimpleOverlayRenderer SUPRACHRONAL_CASING = new SimpleOverlayRenderer("casings/solid/suprachronal_casing"); public static TextureAtlasSprite PRESSURE_PIPE_SIDE; public static TextureAtlasSprite PRESSURE_PIPE_OPEN; diff --git a/src/main/java/gregicality/science/common/block/blocks/BlockGCYSMultiblockCasing.java b/src/main/java/gregicality/science/common/block/blocks/BlockGCYSMultiblockCasing.java index 768e5dd6..569875bf 100644 --- a/src/main/java/gregicality/science/common/block/blocks/BlockGCYSMultiblockCasing.java +++ b/src/main/java/gregicality/science/common/block/blocks/BlockGCYSMultiblockCasing.java @@ -22,7 +22,8 @@ public BlockGCYSMultiblockCasing() { public enum CasingType implements IStringSerializable { SUBSTRATE("substrate"), ADVANCED_SUBSTRATE("advanced_substrate"), - DRILL_HEAD("drill_head"); + DRILL_HEAD("drill_head"), + SUPRACHRONAL_CASING("suprachronal_casing"); private final String name; diff --git a/src/main/java/gregicality/science/common/items/GCYSMetaItems.java b/src/main/java/gregicality/science/common/items/GCYSMetaItems.java index 76c6dbb8..0a11778c 100644 --- a/src/main/java/gregicality/science/common/items/GCYSMetaItems.java +++ b/src/main/java/gregicality/science/common/items/GCYSMetaItems.java @@ -99,6 +99,12 @@ public class GCYSMetaItems { public static MetaItem.MetaValueItem BOSE_EINSTEIN_CONDENSATE; public static MetaItem.MetaValueItem ESR_COMPUTATION_UNIT; + // Supra-Causal Circuit Components + public static MetaItem.MetaValueItem EIGENFOLDED_KERR_MANIFOLD; + + // Supra-Chronal Circuit Components + public static MetaItem.MetaValueItem HYPERDIMENSIONAL_DRONE; + // Voltage Coils public static MetaItem.MetaValueItem VOLTAGE_COIL_UHV; public static MetaItem.MetaValueItem VOLTAGE_COIL_UEV; @@ -254,9 +260,11 @@ private static void initMetaItem1() { // Supra-Causal Circuit Components: ID 260-299 + EIGENFOLDED_KERR_MANIFOLD = metaItem1.addItem(260, "eigenfolded.kerr.manifold"); // Supra-Chronal Circuit Components: ID 300-349 + HYPERDIMENSIONAL_DRONE = metaItem1.addItem(300, "hyperdimensional.drone"); // Voltage Coils: ID 350-355 diff --git a/src/main/java/gregicality/science/common/metatileentities/GCYSMetaTileEntities.java b/src/main/java/gregicality/science/common/metatileentities/GCYSMetaTileEntities.java index bacdb38f..fcad5ebc 100644 --- a/src/main/java/gregicality/science/common/metatileentities/GCYSMetaTileEntities.java +++ b/src/main/java/gregicality/science/common/metatileentities/GCYSMetaTileEntities.java @@ -11,6 +11,7 @@ import gregicality.science.common.metatileentities.singleblock.MetaTileEntityCreativePressurePump; import gregicality.science.common.metatileentities.singleblock.MetaTileEntitySteamEjector; import gregicality.science.common.metatileentities.singleblock.MetaTileEntitySteamVacuumChamber; +import gregicality.science.loaders.recipe.circuits.SuprachronalCircuits; import gregtech.api.GTValues; import gregtech.api.metatileentity.SimpleMachineMetaTileEntity; import gregtech.api.util.GTUtility; @@ -45,6 +46,7 @@ public class GCYSMetaTileEntities { public static MetaTileEntityAxialCompressor SUPERSONIC_AXIAL_COMPRESSOR; public static MetaTileEntityTurbomolecularPump LOW_POWER_TURBOMOLECULAR_PUMP; public static MetaTileEntityTurbomolecularPump HIGH_POWER_TURBOMOLECULAR_PUMP; + public static MetaTileEntitySuprachronalAssembler SUPRACHRONAL_ASSEMBLER; public static void init() { // GCYM Machines: ID 2000-2099 @@ -86,6 +88,7 @@ public static void init() { SUPERSONIC_AXIAL_COMPRESSOR = registerMetaTileEntity(3912, new MetaTileEntityAxialCompressor(gcysId("axial_compressor.supersonic"), GTValues.LuV, 18E9, 50_000.0)); LOW_POWER_TURBOMOLECULAR_PUMP = registerMetaTileEntity(3913, new MetaTileEntityTurbomolecularPump(gcysId("turbomolecular_pump.low_power"), GTValues.EV, 1E-4, 10_000.0)); HIGH_POWER_TURBOMOLECULAR_PUMP = registerMetaTileEntity(3914, new MetaTileEntityTurbomolecularPump(gcysId("turbomolecular_pump.high_power"), GTValues.LuV, 1E-7, 50_000.0)); + SUPRACHRONAL_ASSEMBLER = registerMetaTileEntity(3915, new MetaTileEntitySuprachronalAssembler(gcysId("suprachronal_assembler"))); } @Nonnull diff --git a/src/main/java/gregicality/science/common/metatileentities/multiblock/MetaTileEntitySuprachronalAssembler.java b/src/main/java/gregicality/science/common/metatileentities/multiblock/MetaTileEntitySuprachronalAssembler.java new file mode 100644 index 00000000..5412be4b --- /dev/null +++ b/src/main/java/gregicality/science/common/metatileentities/multiblock/MetaTileEntitySuprachronalAssembler.java @@ -0,0 +1,77 @@ +package gregicality.science.common.metatileentities.multiblock; + +import gregicality.science.api.recipes.GCYSRecipeMaps; +import gregicality.science.client.render.GCYSTextures; +import gregicality.science.common.block.GCYSMetaBlocks; +import gregicality.science.common.block.blocks.BlockGCYSMultiblockCasing; +import gregtech.api.metatileentity.MetaTileEntity; +import gregtech.api.metatileentity.interfaces.IGregTechTileEntity; +import gregtech.api.metatileentity.multiblock.IMultiblockPart; +import gregtech.api.metatileentity.multiblock.MultiblockAbility; +import gregtech.api.metatileentity.multiblock.RecipeMapMultiblockController; +import gregtech.api.pattern.BlockPattern; +import gregtech.api.pattern.FactoryBlockPattern; +import gregtech.client.renderer.ICubeRenderer; +import net.minecraft.block.state.IBlockState; +import net.minecraft.util.ResourceLocation; + +import javax.annotation.Nonnull; + +public class MetaTileEntitySuprachronalAssembler extends RecipeMapMultiblockController { + + + public MetaTileEntitySuprachronalAssembler(ResourceLocation metaTileEntityId) { + super(metaTileEntityId, GCYSRecipeMaps.SUPRACHRONAL_ASSEMBLER_RECIPES); + } + + @Override + protected BlockPattern createStructurePattern() { + return FactoryBlockPattern.start() + .aisle("##XXXXDDDXXXX##", "######DDD######", "###############", "###############", "###############", "###############", "###############", "###############", "###############", "###############", "###############", "###############", "###############", "######DDD######", "##XXXXDDDXXXX##") + .aisle("#XXXXXXXXXXXXX#", "#######X#######", "#######X#######", "#######X#######", "#######X#######", "#######X#######", "#######X#######", "#######X#######", "#######X#######", "#######X#######", "#######X#######", "#######X#######", "#######X#######", "#######X#######", "#XXXXXXXXXXXXX#") + .aisle("XXXXXXXXXXXXXXX", "#######X#######", "#######X#######", "#######X#######", "#######X#######", "######XXX######", "#####XXXXX#####", "#####XXXXX#####", "#####XXXXX#####", "######XXX######", "#######X#######", "#######X#######", "#######X#######", "#######X#######", "XXXXXXXXXXXXXXX") + .aisle("XXXXXXXXXXXXXXX", "#######X#######", "#######X#######", "#######X#######", "#####XXXXX#####", "####XXAAAXX####", "####XAAAAAX####", "####XAAAAAX####", "####XAAAAAX####", "####XXAAAXX####", "#####XXXXX#####", "#######X#######", "#######X#######", "#######X#######", "XXXXXXXXXXXXXXX") + .aisle("XXXXXXXXXXXXXXX", "#######X#######", "#######X#######", "#####XXXXX#####", "####XAAAAAX####", "###XAAAAAAAX###", "###XAAAAAAAX###", "###XAAAAAAAX###", "###XAAAAAAAX###", "###XAAAAAAAX###", "####XAAAAAX####", "#####XXXXX#####", "#######X#######", "#######X#######", "XXXXXXXXXXXXXXX") + .aisle("XXXXXXXXXXXXXXX", "#######X#######", "######XXX######", "####XXAAAXX####", "###XAAAAAAAX###", "###XAAAAAAAX###", "##XAAAAAAAAAX##", "##XAAAAAAAAAX##", "##XAAAAAAAAAX##", "###XAAAAAAAX###", "###XAAAAAAAX###", "####XXAAAXX####", "######XXX######", "#######X#######", "XXXXXXXXXXXXXXX") + .aisle("DXXXXXXXXXXXXXD", "D#####XXX#####D", "#####XXXXX#####", "####XAAAAAX####", "###XAAAAAAAX###", "##XAAAAAAAAAX##", "##XAAAAAAAAAX##", "##XAAAAAAAAAX##", "##XAAAAAAAAAX##", "##XAAAAAAAAAX##", "###XAAAAAAAX###", "####XAAAAAX####", "#####XXXXX#####", "D#####XXX#####D", "DXXXXXXXXXXXXXD") + .aisle("DXXXXXXXXXXXXXD", "DXXXXXXXXXXXXXD", "#XXXXXXXXXXXXX#", "#XXXXAAAAAXXXX#", "#XXXAAAAAAAXXX#", "#XXAAAAAAAAAXX#", "#XXAAAAAAAAAXX#", "#XXAAAAAAAAAXX#", "#XXAAAAAAAAAXX#", "#XXAAAAAAAAAXX#", "#XXXAAAAAAAXXX#", "#XXXXAAAAAXXXX#", "#XXXXXXXXXXXXX#", "DXXXXXXXXXXXXXD", "DXXXXXXXXXXXXXD") + .aisle("DXXXXXXXXXXXXXD", "D#####XXX#####D", "#####XXXXX#####", "####XAAAAAX####", "###XAAAAAAAX###", "##XAAAAAAAAAX##", "##XAAAAAAAAAX##", "##XAAAAAAAAAX##", "##XAAAAAAAAAX##", "##XAAAAAAAAAX##", "###XAAAAAAAX###", "####XAAAAAX####", "#####XXXXX#####", "D#####XXX#####D", "DXXXXXXXXXXXXXD") + .aisle("XXXXXXXXXXXXXXX", "#######X#######", "######XXX######", "####XXAAAXX####", "###XAAAAAAAX###", "###XAAAAAAAX###", "##XAAAAAAAAAX##", "##XAAAAAAAAAX##", "##XAAAAAAAAAX##", "###XAAAAAAAX###", "###XAAAAAAAX###", "####XXAAAXX####", "######XXX######", "#######X#######", "XXXXXXXXXXXXXXX") + .aisle("XXXXXXXXXXXXXXX", "#######X#######", "#######X#######", "#####XXXXX#####", "####XAAAAAX####", "###XAAAAAAAX###", "###XAAAAAAAX###", "###XAAAAAAAX###", "###XAAAAAAAX###", "###XAAAAAAAX###", "####XAAAAAX####", "#####XXXXX#####", "#######X#######", "#######X#######", "XXXXXXXXXXXXXXX") + .aisle("XXXXXXXXXXXXXXX", "#######X#######", "#######X#######", "#######X#######", "#####XXXXX#####", "####XXAAAXX####", "####XAAAAAX####", "####XAAAAAX####", "####XAAAAAX####", "####XXAAAXX####", "#####XXXXX#####", "#######X#######", "#######X#######", "#######X#######", "XXXXXXXXXXXXXXX") + .aisle("XXXXXXXXXXXXXXX", "#######X#######", "#######X#######", "#######X#######", "#######X#######", "######XXX######", "#####XXXXX#####", "#####XXXXX#####", "#####XXXXX#####", "######XXX######", "#######X#######", "#######X#######", "#######X#######", "#######X#######", "XXXXXXXXXXXXXXX") + .aisle("#XXXXXXXXXXXXX#", "#######X#######", "#######X#######", "#######X#######", "#######X#######", "#######X#######", "#######X#######", "#######X#######", "#######X#######", "#######X#######", "#######X#######", "#######X#######", "#######X#######", "#######X#######", "#XXXXXXXXXXXXX#") + .aisle("##XXXXDDDXXXX##", "######DSD######", "###############", "###############", "###############", "###############", "###############", "###############", "###############", "###############", "###############", "###############", "###############", "######DDD######", "##XXXXDDDXXXX##") + .where('S', selfPredicate()) + .where('X', states(getCasingState())) + .where('D', states(getCasingState()).or( + autoAbilities(true, true, true, true, true, false, false) + )) + .where('C', heatingCoils()) + .where('M', abilities(MultiblockAbility.MUFFLER_HATCH)) + .where('A', air()) + .where('#', any()) + .build(); + } + + @Nonnull + private static IBlockState getCasingState() { + return GCYSMetaBlocks.MULTIBLOCK_CASING.getState(BlockGCYSMultiblockCasing.CasingType.SUPRACHRONAL_CASING); + } + + @Override + public ICubeRenderer getBaseTexture(IMultiblockPart iMultiblockPart) { + return GCYSTextures.SUPRACHRONAL_CASING; + } + + @Nonnull + @Override + protected ICubeRenderer getFrontOverlay() { + return GCYSTextures.SUPRACHRONAL_OVERLAY; + } + + @Override + public MetaTileEntity createMetaTileEntity(IGregTechTileEntity iGregTechTileEntity) { + return new MetaTileEntitySuprachronalAssembler(metaTileEntityId); + } +} diff --git a/src/main/java/gregicality/science/loaders/recipe/GCYSRecipeLoader.java b/src/main/java/gregicality/science/loaders/recipe/GCYSRecipeLoader.java index dccaa7df..53f4d73c 100644 --- a/src/main/java/gregicality/science/loaders/recipe/GCYSRecipeLoader.java +++ b/src/main/java/gregicality/science/loaders/recipe/GCYSRecipeLoader.java @@ -73,5 +73,6 @@ private static void initCircuits() { GoowareCircuits.init(); OpticalCircuits.init(); SpintronicCircuits.init(); + SuprachronalCircuits.init(); } } diff --git a/src/main/java/gregicality/science/loaders/recipe/circuits/SuprachronalCircuits.java b/src/main/java/gregicality/science/loaders/recipe/circuits/SuprachronalCircuits.java new file mode 100644 index 00000000..ff45c1ed --- /dev/null +++ b/src/main/java/gregicality/science/loaders/recipe/circuits/SuprachronalCircuits.java @@ -0,0 +1,100 @@ +package gregicality.science.loaders.recipe.circuits; + +import gregicality.science.api.recipes.GCYSRecipeMaps; +import gregicality.science.api.unification.materials.GCYSMaterials; +import gregicality.science.common.block.GCYSMetaBlocks; +import gregicality.science.common.block.blocks.BlockGCYSMultiblockCasing; +import gregicality.science.common.items.GCYSMetaItems; +import gregicality.science.common.metatileentities.GCYSMetaTileEntities; +import gregtech.api.GTValues; +import gregtech.api.recipes.RecipeMaps; +import gregtech.api.recipes.ingredients.IntCircuitIngredient; +import gregtech.api.unification.material.MarkerMaterials; +import gregtech.api.unification.material.Materials; +import gregtech.api.unification.ore.OrePrefix; +import gregtech.common.blocks.BlockMachineCasing; +import gregtech.common.blocks.MetaBlocks; +import gregtech.common.items.MetaItems; +import net.minecraft.item.ItemStack; + +import static gregtech.api.GTValues.OpV; +import static gregtech.api.GTValues.UXV; + +public class SuprachronalCircuits { + + private static final ItemStack[] SUPRACHRONAL_CIRCUITS = { + GCYSMetaItems.SUPRACHRONAL_ULV.getStackForm(), + GCYSMetaItems.SUPRACHRONAL_LV.getStackForm(), + GCYSMetaItems.SUPRACHRONAL_MV.getStackForm(), + GCYSMetaItems.SUPRACHRONAL_HV.getStackForm(), + GCYSMetaItems.SUPRACHRONAL_EV.getStackForm(), + GCYSMetaItems.SUPRACHRONAL_IV.getStackForm(), + GCYSMetaItems.SUPRACHRONAL_LuV.getStackForm(), + GCYSMetaItems.SUPRACHRONAL_ZPM.getStackForm(), + GCYSMetaItems.SUPRACHRONAL_UV.getStackForm(), + GCYSMetaItems.SUPRACHRONAL_UHV.getStackForm(), + GCYSMetaItems.SUPRACHRONAL_UEV.getStackForm(), + GCYSMetaItems.SUPRACHRONAL_UIV.getStackForm(), + GCYSMetaItems.SUPRACHRONAL_UXV.getStackForm(), + GCYSMetaItems.SUPRACHRONAL_OpV.getStackForm(), + GCYSMetaItems.SUPRACHRONAL_MAX.getStackForm(), + }; + + public static void init() { + RecipeMaps.ASSEMBLY_LINE_RECIPES.recipeBuilder() + .input(OrePrefix.plate, GCYSMaterials.ReissnerNordstromMatrix) + .input(OrePrefix.frameGt, GCYSMaterials.ReissnerNordstromMatrix) + .input(OrePrefix.stick, GCYSMaterials.ReissnerNordstromMatrix) + .input(OrePrefix.stick, GCYSMaterials.QCDConfinedMatter) + .fluidInputs(Materials.Neutronium.getFluid(1296)) + .fluidInputs(GCYSMaterials.SentientMetal.getFluid(1296)) + .outputs(GCYSMetaBlocks.MULTIBLOCK_CASING.getItemVariant(BlockGCYSMultiblockCasing.CasingType.SUPRACHRONAL_CASING)) + .duration(200) + .EUt(GTValues.VA[UXV]) + .buildAndRegister(); + + //TODO Add Teralloy and make its fluid used in this recipe + //TODO Add Quark-Gluon plasma and make its fluid used in this recipe + RecipeMaps.ASSEMBLY_LINE_RECIPES.recipeBuilder() + .inputs(GCYSMetaBlocks.MULTIBLOCK_CASING.getItemVariant(BlockGCYSMultiblockCasing.CasingType.SUPRACHRONAL_CASING)) + .inputs(MetaItems.EMITTER_OpV.getStackForm()) + .inputs(MetaItems.SENSOR_OpV.getStackForm()) + .inputs(MetaBlocks.MACHINE_CASING.getItemVariant(BlockMachineCasing.MachineCasingType.UXV)) + .inputs(GCYSMetaItems.EIGENFOLDED_KERR_MANIFOLD.getStackForm()) + .input(OrePrefix.plate, GCYSMaterials.QCDConfinedMatter) + .input(OrePrefix.circuit, MarkerMaterials.Tier.MAX) + .fluidInputs(GCYSMaterials.Taranium.getFluid(144)) + .fluidInputs(GCYSMaterials.SentientMetal.getFluid(1296)) + .outputs(GCYSMetaTileEntities.SUPRACHRONAL_ASSEMBLER.getStackForm()) + .duration(600) + .EUt(GTValues.VA[OpV]) + .buildAndRegister(); + + //TODO Add Trinium-Tritanium and use it as a fluid input for this + RecipeMaps.ASSEMBLY_LINE_RECIPES.recipeBuilder() + .inputs(MetaItems.SENSOR_OpV.getStackForm()) + .inputs(MetaItems.ROBOT_ARM_OpV.getStackForm()) + .inputs(MetaItems.FIELD_GENERATOR_OpV.getStackForm()) + .inputs(MetaItems.ELECTRIC_PUMP_OpV.getStackForm()) + .input(OrePrefix.plate, GCYSMaterials.ReissnerNordstromMatrix, 16) + .input(OrePrefix.circuit, MarkerMaterials.Tier.MAX, 8) + .input(OrePrefix.battery, MarkerMaterials.Tier.MAX, 2) + .fluidInputs(Materials.Naquadria.getFluid(1296)) + .fluidInputs(GCYSMaterials.Taranium.getFluid(1296)) + .fluidInputs(GCYSMaterials.SentientMetal.getFluid(1296)) + .outputs(GCYSMetaItems.HYPERDIMENSIONAL_DRONE.getStackForm()) + .duration(600) + .EUt(GTValues.VA[OpV]) + .buildAndRegister(); + + for(int i = 0; i < GTValues.V.length; i++) { + GCYSRecipeMaps.SUPRACHRONAL_ASSEMBLER_RECIPES.recipeBuilder() + .notConsumable(GCYSMetaItems.HYPERDIMENSIONAL_DRONE.getStackForm()) + .notConsumable(new IntCircuitIngredient(i)) + .outputs(SUPRACHRONAL_CIRCUITS[i]) + .duration(600) + .EUt(GTValues.VA[i]) + .buildAndRegister(); + } + } +} diff --git a/src/main/resources/assets/gcys/blockstates/multiblock_casing.json b/src/main/resources/assets/gcys/blockstates/multiblock_casing.json index ccf07750..5dc78a43 100644 --- a/src/main/resources/assets/gcys/blockstates/multiblock_casing.json +++ b/src/main/resources/assets/gcys/blockstates/multiblock_casing.json @@ -31,6 +31,12 @@ "side": "gregtech:blocks/casings/solid/machine_casing_solid_steel", "bottom": "gregtech:blocks/casings/solid/drill_head_bottom" } + }, + "suprachronal_casing": { + "model": "cube_all", + "textures": { + "all": "gregtech:blocks/casings/solid/suprachronal_casing" + } } } } diff --git a/src/main/resources/assets/gcys/lang/en_us.lang b/src/main/resources/assets/gcys/lang/en_us.lang index be54f430..219bdc0d 100644 --- a/src/main/resources/assets/gcys/lang/en_us.lang +++ b/src/main/resources/assets/gcys/lang/en_us.lang @@ -310,6 +310,9 @@ material.energetic_naquadria=Energetic Naquadria material.light_hyper_fuel=Light Hyper Fuel material.medium_hyper_fuel=Medium Hyper Fuel material.heavy_hyper_fuel=Heavy Hyper Fuel +material.qcd_confined_matter=Quantumchromodynamically Confined Matter +material.reissner_nordstrom_matrix=Reissner-Nordstrom Matrix +material.sentient_metal=Sentient Metal # Tricorder Info @@ -409,6 +412,9 @@ gcys.multiblock.turbomolecular_pump.tooltip.1=Decreases pressure by §b%sPa/s§7 gcys.multiblock.turbomolecular_pump.tooltip.2=Consumes §e%sL/s§7 Lubricant when decreasing pressure. gcys.multiblock.turbomolecular_pump.tooltip.3=Uses %s§7 power. Does not overclock. +# Supra-Chronal Assembler +gcys.machine.suprachronal_assembler.name=Supra-Chronal Assembler + # Single Block Machines gcys.machine.dryer.lv.name=Basic Dryer @@ -466,6 +472,7 @@ tile.crucible.boron_nitride.name=Boron Nitride Crucible tile.multiblock_casing.substrate.name=Substrate Casing tile.multiblock_casing.advanced_substrate.name=Advanced Substrate Casing tile.multiblock_casing.drill_head.name=Drill Head +tile.multiblock_casing.suprachronal_casing.name=Supra-Chronal Assembler Casing tile.multiblock_casing_active.airfoil.name=Airfoil Chamber tile.multiblock_casing_active.advanced_airfoil.name=Advanced Airfoil Chamber @@ -545,6 +552,11 @@ metaitem.containment_unit.bose_einstein_condensate.tooltip=Magnetic Evaporative metaitem.bose_einstein_condensate.name=Bose-Einstein Condensate metaitem.bose_einstein_condensate.tooltip=2,000 §cRb-87§7 Atoms at §b170nK§7! +# Supra-Causal Stuff +metaitem.eigenfolded.kerr.manifold.name=Eigenfolded Kerr Manifold + +# Supra-Chronal Stuff +metaitem.hyperdimensional.drone.name=Hyperdimensional Drone # Power Components metaitem.wafer.nano_power_integrated_circuit.name=NPIC Wafer @@ -670,37 +682,36 @@ metaitem.circuit.supracausal_mainframe.name=Supra-Causal Mainframe metaitem.circuit.supracausal_mainframe.tooltip=Answers before questions/n§fMAX-tier Circuit # Suprachronal -metaitem.circuit.suprachronal.ulv.name=Supra-Chronal Primitive Circuit -metaitem.circuit.suprachronal.ulv.tooltip=§fULV-tier Circuit/n -metaitem.circuit.suprachronal.lv.name=Supra-Chronal Basic Circuit -metaitem.circuit.suprachronal.lv.tooltip=§fLV-tier Circuit/n -metaitem.circuit.suprachronal.mv.name=Supra-Chronal Good Circuit -metaitem.circuit.suprachronal.mv.tooltip=§fMV-tier Circuit/n -metaitem.circuit.suprachronal.hv.name=Supra-Chronal Advanced Circuit -metaitem.circuit.suprachronal.hv.tooltip=§fHV-tier Circuit/n -metaitem.circuit.suprachronal.ev.name=Supra-Chronal Extreme Circuit -metaitem.circuit.suprachronal.ev.tooltip=§fEV-tier Circuit/n -metaitem.circuit.suprachronal.iv.name=Supra-Chronal Elite Circuit -metaitem.circuit.suprachronal.iv.tooltip=§fIV-tier Circuit/n -metaitem.circuit.suprachronal.luv.name=Supra-Chronal Master Circuit -metaitem.circuit.suprachronal.luv.tooltip=§fLuV-tier Circuit/n -metaitem.circuit.suprachronal.zpm.name=Supra-Chronal Ultimate Circuit -metaitem.circuit.suprachronal.zpm.tooltip=§fZPM-tier Circuit/n -metaitem.circuit.suprachronal.uv.name=Supra-Chronal Super Circuit -metaitem.circuit.suprachronal.uv.tooltip=§fUV-tier Circuit/n -metaitem.circuit.suprachronal.uhv.name=Supra-Chronal Infinite Circuit -metaitem.circuit.suprachronal.uhv.tooltip=§fUHV-tier Circuit/n -metaitem.circuit.suprachronal.uev.name=Supra-Chronal Epic Circuit -metaitem.circuit.suprachronal.uev.tooltip=§fUEV-tier Circuit/n -metaitem.circuit.suprachronal.uiv.name=Supra-Chronal Insane Circuit -metaitem.circuit.suprachronal.uiv.tooltip=§fUIV-tier Circuit/n -metaitem.circuit.suprachronal.uxv.name=Supra-Chronal Legendary Circuit -metaitem.circuit.suprachronal.uxv.tooltip=§fUXV-tier Circuit/n -metaitem.circuit.suprachronal.opv.name=Supra-Chronal Overpowered Circuit -metaitem.circuit.suprachronal.opv.tooltip=§fOpV-tier Circuit/n -metaitem.circuit.suprachronal.max.name=Supra-Chronal Maximum Circuit -metaitem.circuit.suprachronal.max.tooltip=§fMAX-tier Circuit/n - +metaitem.circuit.suprachronal.ulv.name=Supra-Chronal Circuit (ULV) +metaitem.circuit.suprachronal.ulv.tooltip=Full control over spacetime/n§fULV-tier Circuit +metaitem.circuit.suprachronal.lv.name=Supra-Chronal Circuit (LV) +metaitem.circuit.suprachronal.lv.tooltip=Full control over spacetime/n§fLV-tier Circuit +metaitem.circuit.suprachronal.mv.name=Supra-Chronal Circuit (MV) +metaitem.circuit.suprachronal.mv.tooltip=Full control over spacetime/n§fMV-tier Circuit +metaitem.circuit.suprachronal.hv.name=Supra-Chronal Circuit (HV) +metaitem.circuit.suprachronal.hv.tooltip=Full control over spacetime/n§fHV-tier Circuit +metaitem.circuit.suprachronal.ev.name=Supra-Chronal Circuit (EV) +metaitem.circuit.suprachronal.ev.tooltip=Full control over spacetime/n§fEV-tier Circuit +metaitem.circuit.suprachronal.iv.name=Supra-Chronal Circuit (IV) +metaitem.circuit.suprachronal.iv.tooltip=Full control over spacetime/n§fIV-tier Circuit +metaitem.circuit.suprachronal.luv.name=Supra-Chronal Circuit (LuV) +metaitem.circuit.suprachronal.luv.tooltip=Full control over spacetime/n§fLuV-tier Circuit +metaitem.circuit.suprachronal.zpm.name=Supra-Chronal Circuit (ZPM) +metaitem.circuit.suprachronal.zpm.tooltip=Full control over spacetime/n§fZPM-tier Circuit +metaitem.circuit.suprachronal.uv.name=Supra-Chronal Circuit (UV) +metaitem.circuit.suprachronal.uv.tooltip=Full control over spacetime/n§fUV-tier Circuit +metaitem.circuit.suprachronal.uhv.name=Supra-Chronal Circuit (UHV) +metaitem.circuit.suprachronal.uhv.tooltip=Full control over spacetime/n§fUHV-tier Circuit +metaitem.circuit.suprachronal.uev.name=Supra-Chronal Circuit (UEV) +metaitem.circuit.suprachronal.uev.tooltip=Full control over spacetime/n§fUEV-tier Circuit +metaitem.circuit.suprachronal.uiv.name=Supra-Chronal Circuit (UIV) +metaitem.circuit.suprachronal.uiv.tooltip=Full control over spacetime/n§fUIV-tier +metaitem.circuit.suprachronal.uxv.name=Supra-Chronal Circuit (UXV) +metaitem.circuit.suprachronal.uxv.tooltip=Full control over spacetime/n§fUXV-tier Circuit +metaitem.circuit.suprachronal.opv.name=Supra-Chronal Circuit (OpV) +metaitem.circuit.suprachronal.opv.tooltip=Full control over spacetime/n§fOpV-tier Circuit +metaitem.circuit.suprachronal.max.name=Supra-Chronal Circuit (MAX) +metaitem.circuit.suprachronal.max.tooltip=Full control over spacetime/n§fMAX-tier Circuit # RecipeMaps # Machines @@ -718,6 +729,7 @@ recipemap.sonication_recipes.name=Sonication recipemap.ion_implanter_recipes.name=Ion Implantation recipemap.superheavy_reactor_recipes.name=Superheavy Reactions recipemap.drill_recipes.name=Drilling +recipemap.suprachronal_assembler_recipes.name=Supra-Chronal Assembler # Generators recipemap.taranium_reactor_mk1_recipes.name=Taranium Reactor Mk.1 diff --git a/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.ev.png b/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.ev.png index 83824872..0f00b770 100644 Binary files a/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.ev.png and b/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.ev.png differ diff --git a/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.ev.png.mcmeta b/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.ev.png.mcmeta new file mode 100644 index 00000000..9d94ea23 --- /dev/null +++ b/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.ev.png.mcmeta @@ -0,0 +1,7 @@ +{ + "animation": { + "interpolate": true, + "frametime": 5, + "frames": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] + } +} diff --git a/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.hv.png b/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.hv.png index 58d9ca02..ab45ac36 100644 Binary files a/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.hv.png and b/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.hv.png differ diff --git a/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.hv.png.mcmeta b/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.hv.png.mcmeta new file mode 100644 index 00000000..8c114f1d --- /dev/null +++ b/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.hv.png.mcmeta @@ -0,0 +1,7 @@ +{ + "animation": { + "interpolate": true, + "frametime": 5, + "frames": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14] + } +} diff --git a/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.iv.png b/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.iv.png index e362755b..e6338786 100644 Binary files a/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.iv.png and b/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.iv.png differ diff --git a/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.iv.png.mcmeta b/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.iv.png.mcmeta new file mode 100644 index 00000000..9d94ea23 --- /dev/null +++ b/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.iv.png.mcmeta @@ -0,0 +1,7 @@ +{ + "animation": { + "interpolate": true, + "frametime": 5, + "frames": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] + } +} diff --git a/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.luv.png b/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.luv.png index f3e5e661..a1ace175 100644 Binary files a/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.luv.png and b/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.luv.png differ diff --git a/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.luv.png.mcmeta b/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.luv.png.mcmeta new file mode 100644 index 00000000..a13a0f55 --- /dev/null +++ b/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.luv.png.mcmeta @@ -0,0 +1,7 @@ +{ + "animation": { + "interpolate": true, + "frametime": 5, + "frames": [0, 1, 2, 3, 4, 5, 6, 7, 8] + } +} diff --git a/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.lv.png b/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.lv.png index 4d985254..3c321039 100644 Binary files a/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.lv.png and b/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.lv.png differ diff --git a/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.lv.png.mcmeta b/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.lv.png.mcmeta new file mode 100644 index 00000000..683b85b1 --- /dev/null +++ b/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.lv.png.mcmeta @@ -0,0 +1,7 @@ +{ + "animation": { + "interpolate": true, + "frametime": 5, + "frames": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] + } +} diff --git a/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.max.png b/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.max.png index 51aed385..7b4137a9 100644 Binary files a/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.max.png and b/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.max.png differ diff --git a/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.max.png.mcmeta b/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.max.png.mcmeta index a331d73c..9d94ea23 100644 --- a/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.max.png.mcmeta +++ b/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.max.png.mcmeta @@ -1,6 +1,7 @@ { "animation": { "interpolate": true, - "frametime": 5 + "frametime": 5, + "frames": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] } } diff --git a/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.mv.png b/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.mv.png index f8b17283..7f2dc9a1 100644 Binary files a/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.mv.png and b/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.mv.png differ diff --git a/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.mv.png.mcmeta b/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.mv.png.mcmeta new file mode 100644 index 00000000..a9a46fe4 --- /dev/null +++ b/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.mv.png.mcmeta @@ -0,0 +1,7 @@ +{ + "animation": { + "interpolate": true, + "frametime": 5, + "frames": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] + } +} diff --git a/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.opv.png b/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.opv.png index 03b67360..82524187 100644 Binary files a/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.opv.png and b/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.opv.png differ diff --git a/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.opv.png.mcmeta b/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.opv.png.mcmeta index a331d73c..9d94ea23 100644 --- a/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.opv.png.mcmeta +++ b/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.opv.png.mcmeta @@ -1,6 +1,7 @@ { "animation": { "interpolate": true, - "frametime": 5 + "frametime": 5, + "frames": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] } } diff --git a/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.uev.png b/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.uev.png index 4113855d..4121d045 100644 Binary files a/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.uev.png and b/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.uev.png differ diff --git a/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.uev.png.mcmeta b/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.uev.png.mcmeta new file mode 100644 index 00000000..bd663b8c --- /dev/null +++ b/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.uev.png.mcmeta @@ -0,0 +1,7 @@ +{ + "animation": { + "interpolate": true, + "frametime": 5, + "frames": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] + } +} diff --git a/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.uhv.png b/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.uhv.png index 8bb3bab3..e379c19c 100644 Binary files a/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.uhv.png and b/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.uhv.png differ diff --git a/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.uhv.png.mcmeta b/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.uhv.png.mcmeta new file mode 100644 index 00000000..683b85b1 --- /dev/null +++ b/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.uhv.png.mcmeta @@ -0,0 +1,7 @@ +{ + "animation": { + "interpolate": true, + "frametime": 5, + "frames": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] + } +} diff --git a/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.uiv.png b/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.uiv.png index 38553d1d..acbb10ae 100644 Binary files a/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.uiv.png and b/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.uiv.png differ diff --git a/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.uiv.png.mcmeta b/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.uiv.png.mcmeta index a331d73c..9d94ea23 100644 --- a/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.uiv.png.mcmeta +++ b/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.uiv.png.mcmeta @@ -1,6 +1,7 @@ { "animation": { "interpolate": true, - "frametime": 5 + "frametime": 5, + "frames": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] } } diff --git a/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.ulv.png b/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.ulv.png index 409a7c9c..8e343112 100644 Binary files a/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.ulv.png and b/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.ulv.png differ diff --git a/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.ulv.png.mcmeta b/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.ulv.png.mcmeta new file mode 100644 index 00000000..bd663b8c --- /dev/null +++ b/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.ulv.png.mcmeta @@ -0,0 +1,7 @@ +{ + "animation": { + "interpolate": true, + "frametime": 5, + "frames": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] + } +} diff --git a/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.uv.png b/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.uv.png index 086b6240..a742879c 100644 Binary files a/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.uv.png and b/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.uv.png differ diff --git a/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.uv.png.mcmeta b/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.uv.png.mcmeta new file mode 100644 index 00000000..9d94ea23 --- /dev/null +++ b/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.uv.png.mcmeta @@ -0,0 +1,7 @@ +{ + "animation": { + "interpolate": true, + "frametime": 5, + "frames": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] + } +} diff --git a/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.uxv.png b/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.uxv.png index 0cb4bb72..819401dd 100644 Binary files a/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.uxv.png and b/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.uxv.png differ diff --git a/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.uxv.png.mcmeta b/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.uxv.png.mcmeta index a331d73c..9d94ea23 100644 --- a/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.uxv.png.mcmeta +++ b/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.uxv.png.mcmeta @@ -1,6 +1,7 @@ { "animation": { "interpolate": true, - "frametime": 5 + "frametime": 5, + "frames": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] } } diff --git a/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.zpm.png b/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.zpm.png index daf97f68..36a2f333 100644 Binary files a/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.zpm.png and b/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.zpm.png differ diff --git a/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.zpm.png.mcmeta b/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.zpm.png.mcmeta new file mode 100644 index 00000000..bd663b8c --- /dev/null +++ b/src/main/resources/assets/gcys/textures/items/metaitems/circuit.suprachronal.zpm.png.mcmeta @@ -0,0 +1,7 @@ +{ + "animation": { + "interpolate": true, + "frametime": 5, + "frames": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] + } +} diff --git a/src/main/resources/assets/gcys/textures/items/metaitems/eigenfolded.kerr.manifold.png b/src/main/resources/assets/gcys/textures/items/metaitems/eigenfolded.kerr.manifold.png new file mode 100644 index 00000000..d6366de4 Binary files /dev/null and b/src/main/resources/assets/gcys/textures/items/metaitems/eigenfolded.kerr.manifold.png differ diff --git a/src/main/resources/assets/gcys/textures/items/metaitems/eigenfolded.kerr.manifold.png.mcmeta b/src/main/resources/assets/gcys/textures/items/metaitems/eigenfolded.kerr.manifold.png.mcmeta new file mode 100644 index 00000000..67ac4114 --- /dev/null +++ b/src/main/resources/assets/gcys/textures/items/metaitems/eigenfolded.kerr.manifold.png.mcmeta @@ -0,0 +1,7 @@ +{ +"animation": { +"interpolate": false, +"frametime": 2, +"frames":[0,1,2,3] +} +} \ No newline at end of file diff --git a/src/main/resources/assets/gcys/textures/items/metaitems/hyperdimensional.drone.png b/src/main/resources/assets/gcys/textures/items/metaitems/hyperdimensional.drone.png new file mode 100644 index 00000000..f5941a9b Binary files /dev/null and b/src/main/resources/assets/gcys/textures/items/metaitems/hyperdimensional.drone.png differ diff --git a/src/main/resources/assets/gregtech/models/item/metaitems/eigenfolded.kerr.manifold.json b/src/main/resources/assets/gregtech/models/item/metaitems/eigenfolded.kerr.manifold.json new file mode 100644 index 00000000..dea9cd74 --- /dev/null +++ b/src/main/resources/assets/gregtech/models/item/metaitems/eigenfolded.kerr.manifold.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gcys:items/metaitems/eigenfolded.kerr.manifold" + } +} diff --git a/src/main/resources/assets/gregtech/models/item/metaitems/hyperdimensional.drone.json b/src/main/resources/assets/gregtech/models/item/metaitems/hyperdimensional.drone.json new file mode 100644 index 00000000..6e177455 --- /dev/null +++ b/src/main/resources/assets/gregtech/models/item/metaitems/hyperdimensional.drone.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gcys:items/metaitems/hyperdimensional.drone" + } +} diff --git a/src/main/resources/assets/gregtech/textures/blocks/casings/solid/suprachronal_casing.png b/src/main/resources/assets/gregtech/textures/blocks/casings/solid/suprachronal_casing.png new file mode 100644 index 00000000..a764f483 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/blocks/casings/solid/suprachronal_casing.png differ diff --git a/src/main/resources/assets/gregtech/textures/blocks/multiblock/suprachronal_assembler/overlay_front.png b/src/main/resources/assets/gregtech/textures/blocks/multiblock/suprachronal_assembler/overlay_front.png new file mode 100644 index 00000000..604c2f55 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/blocks/multiblock/suprachronal_assembler/overlay_front.png differ diff --git a/src/main/resources/assets/gregtech/textures/blocks/multiblock/suprachronal_assembler/overlay_front_active.png b/src/main/resources/assets/gregtech/textures/blocks/multiblock/suprachronal_assembler/overlay_front_active.png new file mode 100644 index 00000000..872d3761 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/blocks/multiblock/suprachronal_assembler/overlay_front_active.png differ diff --git a/src/main/resources/assets/gregtech/textures/blocks/multiblock/suprachronal_assembler/overlay_front_active_emissive.png b/src/main/resources/assets/gregtech/textures/blocks/multiblock/suprachronal_assembler/overlay_front_active_emissive.png new file mode 100644 index 00000000..dc6aa107 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/blocks/multiblock/suprachronal_assembler/overlay_front_active_emissive.png differ diff --git a/src/main/resources/assets/gregtech/textures/blocks/multiblock/suprachronal_assembler/overlay_front_emissive.png b/src/main/resources/assets/gregtech/textures/blocks/multiblock/suprachronal_assembler/overlay_front_emissive.png new file mode 100644 index 00000000..d4c25a3b Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/blocks/multiblock/suprachronal_assembler/overlay_front_emissive.png differ diff --git a/src/main/resources/assets/gregtech/textures/blocks/multiblock/suprachronal_assembler/overlay_front_paused.png b/src/main/resources/assets/gregtech/textures/blocks/multiblock/suprachronal_assembler/overlay_front_paused.png new file mode 100644 index 00000000..715987fa Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/blocks/multiblock/suprachronal_assembler/overlay_front_paused.png differ diff --git a/src/main/resources/assets/gregtech/textures/blocks/multiblock/suprachronal_assembler/overlay_front_paused_emissive.png b/src/main/resources/assets/gregtech/textures/blocks/multiblock/suprachronal_assembler/overlay_front_paused_emissive.png new file mode 100644 index 00000000..7f6d997d Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/blocks/multiblock/suprachronal_assembler/overlay_front_paused_emissive.png differ