diff options
author | Connor-Colenso <52056774+Connor-Colenso@users.noreply.github.com> | 2022-07-05 06:40:33 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-07-05 12:40:33 +0700 |
commit | 6ae126921b95a38acef23e6025371f032f5ae2f4 (patch) | |
tree | 811c783e7638500a966754ea6a0ee87854f5a488 /src | |
parent | 864f4183d5f3e600e531e0d4afecdf4b265819b3 (diff) | |
download | GT5-Unofficial-6ae126921b95a38acef23e6025371f032f5ae2f4.tar.gz GT5-Unofficial-6ae126921b95a38acef23e6025371f032f5ae2f4.tar.bz2 GT5-Unofficial-6ae126921b95a38acef23e6025371f032f5ae2f4.zip |
DTPF Laser (#1100)
* DTPF Laser
* exotic
* Structure forms with TT laser, recipe broken. WIP.
* Format amps in PA correctly.
* Fix incorrect colouring on text.
* New DTPF controller textures.
* Update spacetime material.
* Update DTPF texture
* Update DTPF NEI page
* Add spacetime wires
* Tons of fixes/adjustments.
* Localise achievements.
* Typos
* More fixes + move plasmas to mixer.
* Spacetime adjustment
* Spacetime blocks.
* Spacetime wires.
* Localise coils
* Adjust DTPF fuels
* Adjust DTPF fuels.
* Stuff
* Fix optimiser
* DTPF
* Depreciated
Co-authored-by: GTNH-Colen <54497873+GTNH-Colen@users.noreply.github.com>
Co-authored-by: Yang Xizhi <60341015+GlodBlock@users.noreply.github.com>
Diffstat (limited to 'src')
18 files changed, 395 insertions, 332 deletions
diff --git a/src/main/java/gregtech/api/enums/Materials.java b/src/main/java/gregtech/api/enums/Materials.java index aef05a502a..2a910e8911 100644 --- a/src/main/java/gregtech/api/enums/Materials.java +++ b/src/main/java/gregtech/api/enums/Materials.java @@ -870,12 +870,12 @@ public class Materials implements IColorModulationContainer, ISubTagContainer { public static Materials DimensionallyTranscendentResidue = new Materials( 589, TextureSet.SET_FLUID , 1.0F, 0, 2, 16 , 0, 0, 0, 1, "DimensionallyTranscendentResidue" , "Dimensionally Transcendent Residue" , -1, -1, 25, 1, false, true, 1, 1, 1, Dyes.dyeBlack); - public static Materials SpaceTime = new Materials( 588, new TextureSet("spacetime", true) , 1.0F, 0, 2, 1|2|16|64|128, 255, 255, 255, 0, "SpaceTime" , "SpaceTime" , -1, -1, 0, 0, false, true, 2, 1, 1, Dyes._NULL , Arrays.asList(new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 1))); + public static Materials SpaceTime = new Materials( 588, new TextureSet("spacetime", true) , 320.0F, 4*2621440, 25, 1|2|64|128, 255, 255, 255, 0, "SpaceTime" , "SpaceTime" , -1, -1, 0, 0, false, true, 2, 1, 1, Dyes._NULL , Arrays.asList(new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 1))); static { MaterialsKevlar.init(); } - + /** * Materials which are renamed automatically */ diff --git a/src/main/java/gregtech/api/enums/Textures.java b/src/main/java/gregtech/api/enums/Textures.java index 01ad649311..6515c448cf 100644 --- a/src/main/java/gregtech/api/enums/Textures.java +++ b/src/main/java/gregtech/api/enums/Textures.java @@ -509,6 +509,8 @@ public class Textures { OVERLAY_FLUID_STORAGE_MONITOR13, OVERLAY_FLUID_STORAGE_MONITOR14, + OVERLAY_DTPF_OFF, + OVERLAY_DTPF_ON, OVERLAY_FUSION1, OVERLAY_FUSION1_GLOW, OVERLAY_FUSION2, @@ -1025,6 +1027,7 @@ public class Textures { BLOCK_TUNGSTEN, BLOCK_TUNGSTENSTEEL, BLOCK_ULTIMET, + BLOCK_SPACETIME, BLOCK_URANIUM, BLOCK_URANIUM235, @@ -1087,7 +1090,7 @@ public class Textures { MARBLE_COBBLE, BLOCK_NICKELALUMINIUM, BLOCK_SILICONSG, - + MARBLE_COBBLE_MOSSY, MARBLE_BRICKS, MARBLE_BRICKS_CRACKED, @@ -1705,7 +1708,8 @@ public class Textures { STORAGE_BLOCKS12 = { BLOCK_CRYOLITE, BLOCK_SILICONSG, - BLOCK_NICKELALUMINIUM + BLOCK_NICKELALUMINIUM, + BLOCK_SPACETIME }; public static final ITexture[] HIDDEN_TEXTURE = { diff --git a/src/main/java/gregtech/api/interfaces/internal/IGT_RecipeAdder.java b/src/main/java/gregtech/api/interfaces/internal/IGT_RecipeAdder.java index 7758bd18e7..3c241d4fa1 100644 --- a/src/main/java/gregtech/api/interfaces/internal/IGT_RecipeAdder.java +++ b/src/main/java/gregtech/api/interfaces/internal/IGT_RecipeAdder.java @@ -648,14 +648,21 @@ public interface IGT_RecipeAdder { /** * Adds a Recipe for the Mixer */ + @Deprecated boolean addMixerRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aInput3, ItemStack aInput4, FluidStack aFluidInput, FluidStack aFluidOutput, ItemStack aOutput, int aDuration, int aEUt); + @Deprecated boolean addMixerRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aInput3, ItemStack aInput4, ItemStack aInput5, ItemStack aInput6, FluidStack aFluidInput, FluidStack aFluidOutput, ItemStack aOutput, int aDuration, int aEUt); + @Deprecated boolean addMixerRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aInput3, ItemStack aInput4, ItemStack aInput5, ItemStack aInput6, ItemStack aInput7, ItemStack aInput8, ItemStack aInput9, FluidStack aFluidInput, FluidStack aFluidOutput, ItemStack aOutput, int aDuration, int aEUt); + @Deprecated boolean addMixerRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aInput3, ItemStack aInput4, ItemStack aInput5, ItemStack aInput6, ItemStack aInput7, ItemStack aInput8, ItemStack aInput9, FluidStack aFluidInput, FluidStack aFluidOutput, ItemStack aOutput1, ItemStack aOutput2, ItemStack aOutput3, ItemStack aOutput4, int aDuration, int aEUt); + // Use me only from now on! + boolean addMixerRecipe(ItemStack[] ItemInputArray, FluidStack[] FluidInputArray, ItemStack[] ItemOutputArray, FluidStack[] FluidOutputArray, int aDuration, int aEUt); + /** * Adds a Recipe for the Laser Engraver. */ diff --git a/src/main/java/gregtech/api/util/GT_Recipe.java b/src/main/java/gregtech/api/util/GT_Recipe.java index 7cdf16cedf..accf5fe09b 100644 --- a/src/main/java/gregtech/api/util/GT_Recipe.java +++ b/src/main/java/gregtech/api/util/GT_Recipe.java @@ -790,7 +790,7 @@ public class GT_Recipe implements Comparable<GT_Recipe> { public static final GT_Recipe_Map sCentrifugeRecipes = new GT_Recipe_Map(new HashSet<>(1200), "gt.recipe.centrifuge", "Centrifuge", null, RES_PATH_GUI + "basicmachines/Centrifuge", 2, 6, 0, 0, 1, E, 1, E, true, true); public static final GT_Recipe_Map sElectrolyzerRecipes = new GT_Recipe_Map(new HashSet<>(300), "gt.recipe.electrolyzer", "Electrolyzer", null, RES_PATH_GUI + "basicmachines/Electrolyzer", 2, 6, 0, 0, 1, E, 1, E, true, true); public static final GT_Recipe_Map sBlastRecipes = new GT_Recipe_Map(new HashSet<>(800), "gt.recipe.blastfurnace", "Blast Furnace", null, RES_PATH_GUI + "basicmachines/Default", 4, 4, 1, 0, 1, "Heat Capacity: ", 1, " K", false, true); - public static final GT_Recipe_Map sPlasmaForgeRecipes = new GT_Recipe_Map_PlasmaForge(new HashSet<>(20), "gt.recipe.plasmaforge", "Dimensionally Transcendent Plasma Forge", null, RES_PATH_GUI + "basicmachines/PlasmaForge", 1, 1, 0, 0, 1, "Heat Capacity: ", 1, " K", false, true); + public static final GT_Recipe_Map sPlasmaForgeRecipes = new GT_Recipe_Map_PlasmaForge(new HashSet<>(20), "gt.recipe.plasmaforge", "DTPF", null, RES_PATH_GUI + "basicmachines/PlasmaForge", 1, 1, 0, 0, 1, "Heat Capacity: ", 1, " K", false, true); public static final GT_Recipe_Map sPrimitiveBlastRecipes = new GT_Recipe_Map(new HashSet<>(200), "gt.recipe.primitiveblastfurnace", "Primitive Blast Furnace", null, RES_PATH_GUI + "basicmachines/Default", 3, 3, 1, 0, 1, E, 1, E, false, true); public static final GT_Recipe_Map sImplosionRecipes = new GT_Recipe_Map(new HashSet<>(900), "gt.recipe.implosioncompressor", "Implosion Compressor", null, RES_PATH_GUI + "basicmachines/Default", 2, 2, 2, 0, 1, E, 1, E, true, true); public static final GT_Recipe_Map sVacuumRecipes = new GT_Recipe_Map(new HashSet<>(305), "gt.recipe.vacuumfreezer", "Vacuum Freezer", null, RES_PATH_GUI + "basicmachines/Default", 1, 1, 0, 0, 1, E, 1, E, false, true); diff --git a/src/main/java/gregtech/api/util/GT_Utility.java b/src/main/java/gregtech/api/util/GT_Utility.java index ef0b194ace..52e45f6742 100644 --- a/src/main/java/gregtech/api/util/GT_Utility.java +++ b/src/main/java/gregtech/api/util/GT_Utility.java @@ -2281,10 +2281,10 @@ public class GT_Utility { try { if (tTileEntity instanceof IMachineProgress) { if (((IMachineProgress) tTileEntity).isAllowedToWork()) { - tList.add("Disabled." + EnumChatFormatting.RED + EnumChatFormatting.RESET); + tList.add(EnumChatFormatting.RED + "Disabled." + EnumChatFormatting.RESET); } if (((IMachineProgress) tTileEntity).wasShutdown()) { - tList.add("Shut down due to power loss." + EnumChatFormatting.RED + EnumChatFormatting.RESET); + tList.add(EnumChatFormatting.RED + "Shut down due to power loss." + EnumChatFormatting.RESET); } rEUAmount += 400; int tValue = 0; diff --git a/src/main/java/gregtech/common/GT_RecipeAdder.java b/src/main/java/gregtech/common/GT_RecipeAdder.java index 1d4367a5e3..b489ccd913 100644 --- a/src/main/java/gregtech/common/GT_RecipeAdder.java +++ b/src/main/java/gregtech/common/GT_RecipeAdder.java @@ -1202,16 +1202,21 @@ public class GT_RecipeAdder implements IGT_RecipeAdder { return true; } + @Deprecated @Override public boolean addMixerRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aInput3, ItemStack aInput4, FluidStack aFluidInput, FluidStack aFluidOutput, ItemStack aOutput, int aDuration, int aEUt) { return addMixerRecipe(aInput1, aInput2, aInput3, aInput4, null, null, null, null, null, aFluidInput, aFluidOutput, aOutput, aDuration, aEUt); } + + @Deprecated @Override public boolean addMixerRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aInput3, ItemStack aInput4, ItemStack aInput5, ItemStack aInput6, FluidStack aFluidInput, FluidStack aFluidOutput, ItemStack aOutput, int aDuration, int aEUt) { return addMixerRecipe(aInput1, aInput2, aInput3, aInput4, aInput5, aInput6, null, null, null, aFluidInput, aFluidOutput, aOutput, aDuration, aEUt); } + + @Deprecated @Override public boolean addMixerRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aInput3, ItemStack aInput4, ItemStack aInput5, ItemStack aInput6, ItemStack aInput7, ItemStack aInput8, ItemStack aInput9, FluidStack aFluidInput, FluidStack aFluidOutput, ItemStack aOutput, int aDuration, int aEUt) { if (((aInput1 == null) && (aFluidInput == null)) || ((aOutput == null) && (aFluidOutput == null))) { @@ -1228,6 +1233,13 @@ public class GT_RecipeAdder implements IGT_RecipeAdder { } @Override + public boolean addMixerRecipe(ItemStack[] ItemInputArray, FluidStack[] FluidInputArray, ItemStack[] ItemOutputArray, FluidStack[] FluidOutputArray, int aDuration, int aEUt) { + GT_Recipe.GT_Recipe_Map.sMixerRecipes.addRecipe(false, ItemOutputArray, ItemOutputArray, null, null, FluidInputArray, FluidOutputArray, aDuration, aEUt, 0); + return true; + } + + @Deprecated + @Override public boolean addMixerRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aInput3, ItemStack aInput4, ItemStack aInput5, ItemStack aInput6, ItemStack aInput7, ItemStack aInput8, ItemStack aInput9, FluidStack aFluidInput, FluidStack aFluidOutput, ItemStack aOutput1, ItemStack aOutput2, ItemStack aOutput3, ItemStack aOutput4, int aDuration, int aEUt) { if (((aInput1 == null) && (aFluidInput == null)) || ((aOutput1 == null) && (aFluidOutput == null))) { return false; @@ -1242,11 +1254,13 @@ public class GT_RecipeAdder implements IGT_RecipeAdder { return true; } + @Deprecated @Override public boolean addLaserEngraverRecipe(ItemStack aItemToEngrave, ItemStack aLens, ItemStack aEngravedItem, int aDuration, int aEUt) { return addLaserEngraverRecipe( aItemToEngrave, aLens, aEngravedItem, aDuration, aEUt, false); } + @Deprecated @Override public boolean addLaserEngraverRecipe(ItemStack aItemToEngrave, ItemStack aLens, ItemStack aEngravedItem, int aDuration, int aEUt, boolean aCleanroom) { if ((aItemToEngrave == null) || (aLens == null) || (aEngravedItem == null)) { diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_PlasmaForge.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_PlasmaForge.java index 97bda10e2f..23bfae514d 100644 --- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_PlasmaForge.java +++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_PlasmaForge.java @@ -5,13 +5,16 @@ import com.gtnewhorizon.structurelib.structure.IStructureDefinition; import com.gtnewhorizon.structurelib.structure.StructureDefinition; import gregtech.api.GregTech_API; import gregtech.api.enums.HeatingCoilLevel; +import gregtech.api.enums.Materials; import gregtech.api.gui.GT_GUIContainer_MultiMachine; import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; +import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Energy; import gregtech.api.objects.GT_ChunkManager; import gregtech.api.render.TextureFactory; +import gregtech.api.util.GT_ExoticEnergyInputHelper; import gregtech.api.util.GT_Multiblock_Tooltip_Builder; import gregtech.api.util.GT_Recipe; import gregtech.api.util.GT_Utility; @@ -24,71 +27,94 @@ import net.minecraft.util.StatCollector; import net.minecraft.world.ChunkCoordIntPair; import net.minecraftforge.fluids.FluidStack; +import java.util.List; +import java.util.ArrayList; import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; import static gregtech.api.enums.GT_Values.V; import static gregtech.api.enums.GT_Values.VN; -import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_FRONT_ELECTRIC_BLAST_FURNACE; -import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_FRONT_ELECTRIC_BLAST_FURNACE_ACTIVE; -import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_FRONT_ELECTRIC_BLAST_FURNACE_ACTIVE_GLOW; -import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_FRONT_ELECTRIC_BLAST_FURNACE_GLOW; -import static gregtech.api.enums.Textures.BlockIcons.casingTexturePages; +import static gregtech.api.enums.Textures.BlockIcons.*; import static gregtech.api.util.GT_StructureUtility.ofCoil; import static gregtech.api.util.GT_StructureUtility.ofHatchAdderOptional; public class GT_MetaTileEntity_PlasmaForge extends GT_MetaTileEntity_AbstractMultiFurnace<GT_MetaTileEntity_PlasmaForge> implements IConstructable { - private int mHeatingCapacity = 0; - protected static final int NULL_CASING = 12; - protected static final int USEFUL_CASING = 13; - protected static final int DIM_CASING = 14; + // 3600 seconds in an hour, 8 hours, 20 ticks in a second. + double max_efficiency_time_in_ticks = 3600d * 8d * 20d; + double discount = 1; + final double maximum_discount = 0.5d; + private int mHeatingCapacity = 0; + long running_time = 0; + + private final int min_input_hatch = 0; + private final int max_input_hatch = 6; + private final int min_output_hatch = 0; + private final int max_output_hatch = 2; + private final int min_input_bus = 0; + private final int max_input_bus = 6; + private final int min_output_bus = 0; + private final int max_output_bus = 1; + + @SuppressWarnings("SpellCheckingInspection") + private static final String[][] structure_string = new String[][] { + {" ", " N N N N ", " N N N N ", " N N N N ", " ", " ", " ", " N N N N ", " N N N N ", " NNN NNN N N NNN NNN ", " ", " ", " ", " NNN NNN NNN NNN ", " ", " ", " ", " ", " ", " NNN NNN NNN NNN ", " ", " ", " ", " NNN NNN NNN NNN "}, + {" N N N N ", " bCCCb bCCCb ", " bCCCb bCCCb ", " bCCCb bCCCb ", " N N N N ", " ", " N N N N ", " bCCCb bCCCb ", " bCCCb bCCCb ", "NbbbN NbbNCCCb bCCCNbbN NbbbN", " CCC CCC N N CCC CCC ", " CCC CCC CCC CCC ", " CCC CCC CCC CCC ", "NbbbN NbbbN NbbbN NbbbN", " N N N N ", " N N N N ", " ", " N N N N ", " N N N N ", "NbbbN NbbbN NbbbN NbbbN", " CCC CCC CCC CCC ", " CCC CCC CCC CCC ", " CCC CCC CCC CCC ", "NbbbN NbbbN N N NbbbN NbbbN",}, + {" N N N N ", " bCCCb bCCCb ", " NNNbbbbbNNsNNbbbbbNNN ", " ss bCCCb bCCCb ss ", " s N N N N s ", " s s ", " N N N N N N ", " N bCCCb bCCCb N ", " N sbbbbbNNsNNbbbbbs N ", "NbbbN NbbNCCCb bCCCNbbN NbbbN", " CbC CbC N N CbC CbC ", " CbC CbC CbC CbC ", " CbC CbC CbC CbC ", "NbbbN NbbbN NbbbN NbbbN", " NNN NNN NNN NNN ", " NNN NNN NNN NNN ", " s s s s ", " NNN NNN NNN NNN ", " NNN NNN NNN NNN ", "NbbbN NbbbN NbbbN NbbbN", " CbC CbC CbC CbC ", " CbC CbC CbC CbC ", " CbC CbC CbC CbC ", "NbbbN NbbbNNNNNsNsNNNNNbbbN NbbbN",}, + {" N N N N ", " bCCCb bCCCb ", " ss bCCCb bCCCb ss ", " bCCCb bCCCb ", " s NCCCN NCCCN s ", " s NCCCN NCCCN s ", " NCCCN NCCCN ", " bCCCb bCCCb ", " bCCCb bCCCb ", "NbbbNNNbbNCCCb bCCCNbbNNNbbbN", " CCCCCCCCC N N CCCCCCCCC ", " CCCCCCCCC CCCCCCCCC ", " CCCCCCCCC CCCCCCCCC ", "NbbbNNNbbbN NbbbNNNbbbN", " N N N N ", " N N N N ", " ", " N N N N ", " N N N N ", "NbbbNNNbbbN NbbbNNNbbbN", " CCCCCCCCC CCCCCCCCC ", " CCCCCCCCC CCCCCCCCC ", " CCCCCCCCC CCCCCCCCC ", "NbbbNNNbbbN NbN NbbbNNNbbbN",}, + {" ", " N N N N ", " s N N N N s ", " s NCCCN NCCCN s ", " ", " ", " ", " NCCCN NCCCN ", " N N N N ", " NNN NN N N NN NNN ", " C C C C ", " C C C C ", " C C C C ", " NNN NNN NNN NNN ", " ", " ", " ", " ", " ", " NNN NNN NNN NNN ", " C C C C ", " C C C C ", " C C C C ", " NNN NNN NbN NNN NNN ",}, + {" ", " ", " s s ", " s NCCCN NCCCN s ", " ", " ", " ", " NCCCN NCCCN ", " ", " N N N N ", " C C C C ", " C C C C ", " C C C C ", " N N N N ", " ", " ", " ", " ", " ", " N N N N ", " C C C C ", " C C C C ", " C C C C ", " N N NbN N N ",}, + {" ", " N N N N ", " N N N N N N ", " NCCCN NCCCN ", " ", " ", " ", " NCCCN NCCCN ", " N N N N ", " NNN NN N N NN NNN ", " C C C C ", " C C C C ", " C C C C ", " NNN NNN NNN NNN ", " ", " ", " ", " ", " ", " NNN NNN NNN NNN ", " C C C C ", " C C C C ", " C C C C ", " NNN NNN NbN NNN NNN ",}, + {" N N N N ", " bCCCb bCCCb ", " N bCCCb bCCCb N ", " bCCCb bCCCb ", " NCCCN NCCCN ", " NCCCN NCCCN ", " NCCCN NCCCN ", " bCCCb bCCCb ", " bCCCb bCCCb ", "NbbbNNNbbNCCCb bCCCNbbNNNbbbN", " CCCCCCCCC N N CCCCCCCCC ", " CCCCCCCCC CCCCCCCCC ", " CCCCCCCCC CCCCCCCCC ", "NbbbNNNbbbN NbbbNNNbbbN", " N N N N ", " N N N N ", " ", " N N N N ", " N N N N ", "NbbbNNNbbbN NbbbNNNbbbN", " CCCCCCCCC CCCCCCCCC ", " CCCCCCCCC CCCCCCCCC ", " CCCCCCCCC CCCCCCCCC ", "NbbbNNNbbbN NbN NbbbNNNbbbN",}, + {" N N N N ", " bCCCb bCCCb ", " N sbbbbbNNsNNbbbbbs N ", " bCCCb bCCCb ", " N N N N ", " ", " N N N N ", " bCCCb bCCCb ", " s sbbbbbNNsNNbbbbbs s ", "NbbbN NbbNCCCb bCCCNbbN NbbbN", " CbC CbC N N CbC CbC ", " CbC CbC CbC CbC ", " CbC CbC CbC CbC ", "NbbbN NbbbN NbbbN NbbbN", " NNN NNN NNN NNN ", " NNN NNN NNN NNN ", " s s s s ", " NNN NNN NNN NNN ", " NNN NNN NNN NNN ", "NbbbN NbbbN NbbbN NbbbN", " CbC CbC CbC CbC ", " CbC CbC CbC CbC ", " CbC CbC CbC CbC ", "NbbbN NbbbNNNNNsNsNNNNNbbbN NbbbN",}, + {" NNN NNN N N NNN NNN ", "NbbbN NbbNCCCb bCCCNbbN NbbbN", "NbbbN NbbNCCCb bCCCNbbN NbbbN", "NbbbNNNbbNCCCb bCCCNbbNNNbbbN", " NNN NNN N N NNN NNN ", " N N N N ", " NNN NNN N N NNN NNN ", "NbbbNNNbbNCCCb bCCCNbbNNNbbbN", "NbbbN NbbNCCCb bCCCNbbN NbbbN", "NNNN NNNCCCb bCCCNNN NNNN", " CCC CCC N N CCC CCC ", " CCC CCC CCC CCC ", " CCC CCC CCC CCC ", "NbbbN NbbbN NbbbN NbbbN", " N N N N ", " N N N N ", " ", " N N N N ", " N N N N ", "NbbbN NbbbN NbbbN NbbbN", " CCC CCC CCC CCC ", " CCC CCC CCC CCC ", " CCC CCC CCC CCC ", "NbbbN NbbbN NbN NbbbN NbbbN",}, + {" ", " CCC CCC N N CCC CCC ", " CbC CbC N N CbC CbC ", " CCCCCCCCC N N CCCCCCCCC ", " C C C C ", " C C C C ", " C C C C ", " CCCCCCCCC N N CCCCCCCCC ", " CbC CbC N N CbC CbC ", " CCC CCC N N CCC CCC ", " ", " ", " ", " NNN NNN NNN NNN ", " ", " ", " ", " ", " ", " NNN NNN NNN NNN ", " ", " ", " ", " NNN NNN NbN NNN NNN ",}, + {" ", " CCC CCC CCC CCC ", " CbC CbC CbC CbC ", " CCCCCCCCC CCCCCCCCC ", " C C C C ", " C C C C ", " C C C C ", " CCCCCCCCC CCCCCCCCC ", " CbC CbC CbC CbC ", " CCC CCC CCC CCC ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " N N NbN N N ",}, + {" ", " CCC CCC CCC CCC ", " CbC CbC CbC CbC ", " CCCCCCCCC CCCCCCCCC ", " C C C C ", " C C C C ", " C C C C ", " CCCCCCCCC CCCCCCCCC ", " CbC CbC CbC CbC ", " CCC CCC CCC CCC ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " N N NbN N N ",}, + {" NNN NNN NNN NNN ", "NbbbN NbbbN NbbbN NbbbN", "NbbbN NbbbN NbbbN NbbbN", "NbbbNNNbbbN NbbbNNNbbbN", " NNN NNN NNN NNN ", " N N N N ", " NNN NNN NNN NNN ", "NbbbNNNbbbN NbbbNNNbbbN", "NbbbN NbbbN NbbbN NbbbN", "NbbbN NbbbN NbbbN NbbbN", " NNN NNN NNN NNN ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " N N NsNsN N N ",}, + {" ", " ", " N N N N ", " ", " ", " ", " ", " ", " N N N N ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " N N NbbbbbN N N ",}, + {" ", " ", " N N N N ", " ", " ", " ", " ", " ", " N N N N ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " N ", " NsNNNNNsNNNNsbbbbbsNNNNsNNNNNsN ",}, + {" ", " ", " s s s s ", " ", " ", " ", " ", " ", " s s s s ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ~ ", " NNN ", " NbbbbbNbbbbNbbbbbNbbbbNbbbbbN ",}, + {" ", " ", " N N N N ", " ", " ", " ", " ", " ", " N N N N ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " N ", " NsNNNNNsNNNNsbbbbbsNNNNsNNNNNsN ",}, + {" ", " ", " N N N N ", " ", " ", " ", " ", " ", " N N N N ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " N N NbbbbbN N N ",}, + {" NNN NNN NNN NNN ", "NbbbN NbbbN NbbbN NbbbN", "NbbbN NbbbN NbbbN NbbbN", "NbbbNNNbbbN NbbbNNNbbbN", " NNN NNN NNN NNN ", " N N N N ", " NNN NNN NNN NNN ", "NbbbNNNbbbN NbbbNNNbbbN", "NbbbN NbbbN NbbbN NbbbN", "NbbbN NbbbN NbbbN NbbbN", " NNN NNN NNN NNN ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " N N NsNsN N N ",}, + {" ", " CCC CCC CCC CCC ", " CbC CbC CbC CbC ", " CCCCCCCCC CCCCCCCCC ", " C C C C ", " C C C C ", " C C C C ", " CCCCCCCCC CCCCCCCCC ", " CbC CbC CbC CbC ", " CCC CCC CCC CCC ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " N N NbN N N ",}, + {" ", " CCC CCC CCC CCC ", " CbC CbC CbC CbC ", " CCCCCCCCC CCCCCCCCC ", " C C C C ", " C C C C ", " C C C C ", " CCCCCCCCC CCCCCCCCC ", " CbC CbC CbC CbC ", " CCC CCC CCC CCC ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " N N NbN N N ",}, + {" ", " CCC CCC N N CCC CCC ", " CbC CbC N N CbC CbC ", " CCCCCCCCC N N CCCCCCCCC ", " C C C C ", " C C C C ", " C C C C ", " CCCCCCCCC N N CCCCCCCCC ", " CbC CbC N N CbC CbC ", " CCC CCC N N CCC CCC ", " ", " ", " ", " NNN NNN NNN NNN ", " ", " ", " ", " ", " ", " NNN NNN NNN NNN ", " ", " ", " ", " NNN NNN NbN NNN NNN ",}, + {" NNN NNN N N NNN NNN ", "NbbbN NbbNCCCb bCCCNbbN NbbbN", "NbbbN NbbNCCCb bCCCNbbN NbbbN", "NbbbNNNbbNCCCb bCCCNbbNNNbbbN", " NNN NNN N N NNN NNN ", " N N N N ", " NNN NNN N N NNN NNN ", "NbbbNNNbbNCCCb bCCCNbbNNNbbbN", "NbbbN NbbNCCCb bCCCNbbN NbbbN", "NNNN NNNCCCb bCCCNNN NNNN", " CCC CCC N N CCC CCC ", " CCC CCC CCC CCC ", " CCC CCC CCC CCC ", "NbbbN NbbbN NbbbN NbbbN", " N N N N ", " N N N N ", " ", " N N N N ", " N N N N ", "NbbbN NbbbN NbbbN NbbbN", " CCC CCC CCC CCC ", " CCC CCC CCC CCC ", " CCC CCC CCC CCC ", "NbbbN NbbbN NbN NbbbN NbbbN",}, + {" N N N N ", " bCCCb bCCCb ", " N sbbbbbNNsNNbbbbbs N ", " bCCCb bCCCb ", " N N N N ", " ", " N N N N ", " bCCCb bCCCb ", " s sbbbbbNNsNNbbbbbs s ", "NbbbN NbbNCCCb bCCCNbbN NbbbN", " CbC CbC N N CbC CbC ", " CbC CbC CbC CbC ", " CbC CbC CbC CbC ", "NbbbN NbbbN NbbbN NbbbN", " NNN NNN NNN NNN ", " NNN NNN NNN NNN ", " s s s s ", " NNN NNN NNN NNN ", " NNN NNN NNN NNN ", "NbbbN NbbbN NbbbN NbbbN", " CbC CbC CbC CbC ", " CbC CbC CbC CbC ", " CbC CbC CbC CbC ", "NbbbN NbbbNNNNNsNsNNNNNbbbN NbbbN",}, + {" N N N N ", " bCCCb bCCCb ", " N bCCCb bCCCb N ", " bCCCb bCCCb ", " NCCCN NCCCN ", " NCCCN NCCCN ", " NCCCN NCCCN ", " bCCCb bCCCb ", " bCCCb bCCCb ", "NbbbNNNbbNCCCb bCCCNbbNNNbbbN", " CCCCCCCCC N N CCCCCCCCC ", " CCCCCCCCC CCCCCCCCC ", " CCCCCCCCC CCCCCCCCC ", "NbbbNNNbbbN NbbbNNNbbbN", " N N N N ", " N N N N ", " ", " N N N N ", " N N N N ", "NbbbNNNbbbN NbbbNNNbbbN", " CCCCCCCCC CCCCCCCCC ", " CCCCCCCCC CCCCCCCCC ", " CCCCCCCCC CCCCCCCCC ", "NbbbNNNbbbN NbN NbbbNNNbbbN",}, + {" ", " N N N N ", " N N N N N N ", " NCCCN NCCCN ", " ", " ", " ", " NCCCN NCCCN ", " N N N N ", " NNN NN N N NN NNN ", " C C C C ", " C C C C ", " C C C C ", " NNN NNN NNN NNN ", " ", " ", " ", " ", " ", " NNN NNN NNN NNN ", " C C C C ", " C C C C ", " C C C C ", " NNN NNN NbN NNN NNN ",}, + {" ", " ", " s s ", " s NCCCN NCCCN s ", " ", " ", " ", " NCCCN NCCCN ", " ", " N N N N ", " C C C C ", " C C C C ", " C C C C ", " N N N N ", " ", " ", " ", " ", " ", " N N N N ", " C C C C ", " C C C C ", " C C C C ", " N N NbN N N ",}, + {" ", " N N N N ", " s N N N N s ", " s NCCCN NCCCN s ", " ", " ", " ", " NCCCN NCCCN ", " N N N N ", " NNN NN N N NN NNN ", " C C C C ", " C C C C ", " C C C C ", " NNN NNN NNN NNN ", " ", " ", " ", " ", " ", " NNN NNN NNN NNN ", " C C C C ", " C C C C ", " C C C C ", " NNN NNN NbN NNN NNN ",}, + {" N N N N ", " bCCCb bCCCb ", " ss bCCCb bCCCb ss ", " bCCCb bCCCb ", " s NCCCN NCCCN s ", " s NCCCN NCCCN s ", " NCCCN NCCCN ", " bCCCb bCCCb ", " bCCCb bCCCb ", "NbbbNNNbbNCCCb bCCCNbbNNNbbbN", " CCCCCCCCC N N CCCCCCCCC ", " CCCCCCCCC CCCCCCCCC ", " CCCCCCCCC CCCCCCCCC ", "NbbbNNNbbbN NbbbNNNbbbN", " N N N N ", " N N N N ", " ", " N N N N ", " N N N N ", "NbbbNNNbbbN NbbbNNNbbbN", " CCCCCCCCC CCCCCCCCC ", " CCCCCCCCC CCCCCCCCC ", " CCCCCCCCC CCCCCCCCC ", "NbbbNNNbbbN NbN NbbbNNNbbbN",}, + {" N N N N ", " bCCCb bCCCb ", " NNNbbbbbNNsNNbbbbbNNN ", " ss bCCCb bCCCb ss ", " s N N N N s ", " s s ", " N N N N N N ", " N bCCCb bCCCb N ", " N sbbbbbNNsNNbbbbbs N ", "NbbbN NbbNCCCb bCCCNbbN NbbbN", " CbC CbC N N CbC CbC ", " CbC CbC CbC CbC ", " CbC CbC CbC CbC ", "NbbbN NbbbN NbbbN NbbbN", " NNN NNN NNN NNN ", " NNN NNN NNN NNN ", " s s s s ", " NNN NNN NNN NNN ", " NNN NNN NNN NNN ", "NbbbN NbbbN NbbbN NbbbN", " CbC CbC CbC CbC ", " CbC CbC CbC CbC ", " CbC CbC CbC CbC ", "NbbbN NbbbNNNNNsNsNNNNNbbbN NbbbN",}, + {" N N N N ", " bCCCb bCCCb ", " bCCCb bCCCb ", " bCCCb bCCCb ", " N N N N ", " ", " N N N N ", " bCCCb bCCCb ", " bCCCb bCCCb ", "NbbbN NbbNCCCb bCCCNbbN NbbbN", " CCC CCC N N CCC CCC ", " CCC CCC CCC CCC ", " CCC CCC CCC CCC ", "NbbbN NbbbN NbbbN NbbbN", " N N N N ", " N N N N ", " ", " N N N N ", " N N N N ", "NbbbN NbbbN NbbbN NbbbN", " CCC CCC CCC CCC ", " CCC CCC CCC CCC ", " CCC CCC CCC CCC ", "NbbbN NbbbN N N NbbbN NbbbN",}, + {" ", " N N N N ", " N N N N ", " N N N N ", " ", " ", " ", " N N N N ", " N N N N ", " NNN NNN N N NNN NNN ", " ", " ", " ", " NNN NNN NNN NNN ", " ", " ", " ", " ", " ", " NNN NNN NNN NNN ", " ", " ", " ", " NNN NNN NNN NNN ",} + }; + + + protected static final int DIM_TRANS_CASING = 12; + protected static final int DIM_INJECTION_CASING = 13; + protected static final int DIM_BRIDGE_CASING = 14; private boolean isMultiChunkloaded = true; protected static final String STRUCTURE_PIECE_MAIN = "main"; private static final IStructureDefinition<GT_MetaTileEntity_PlasmaForge> STRUCTURE_DEFINITION = StructureDefinition.<GT_MetaTileEntity_PlasmaForge>builder() - .addShape(STRUCTURE_PIECE_MAIN, new String[][] { - {" ", " N N N N ", " N N N N ", " N N N N ", " ", " ", " ", " N N N N ", " N N N N ", " NNN NNN N N NNN NNN ", " ", " ", " ", " NNN NNN NNN NNN ", " ", " ", " ", " ", " ", " NNN NNN NNN NNN ", " ", " ", " ", " NNN NNN NNN NNN "}, - {" N N N N ", " bCCCb bCCCb ", " bCCCb bCCCb ", " bCCCb bCCCb ", " N N N N ", " ", " N N N N ", " bCCCb bCCCb ", " bCCCb bCCCb ", "NbbbN NbbNCCCb bCCCNbbN NbbbN", " CCC CCC N N CCC CCC ", " CCC CCC CCC CCC ", " CCC CCC CCC CCC ", "NbbbN NbbbN NbbbN NbbbN", " N N N N ", " N N N N ", " ", " N N N N ", " N N N N ", "NbbbN NbbbN NbbbN NbbbN", " CCC CCC CCC CCC ", " CCC CCC CCC CCC ", " CCC CCC CCC CCC ", "NbbbN NbbbN N N NbbbN NbbbN",}, - {" N N N N ", " bCCCb bCCCb ", " NNNbbbbbNNsNNbbbbbNNN ", " ss bCCCb bCCCb ss ", " s N N N N s ", " s s ", " N N N N N N ", " N bCCCb bCCCb N ", " N sbbbbbNNsNNbbbbbs N ", "NbbbN NbbNCCCb bCCCNbbN NbbbN", " CbC CbC N N CbC CbC ", " CbC CbC CbC CbC ", " CbC CbC CbC CbC ", "NbbbN NbbbN NbbbN NbbbN", " NNN NNN NNN NNN ", " NNN NNN NNN NNN ", " s s s s ", " NNN NNN NNN NNN ", " NNN NNN NNN NNN ", "NbbbN NbbbN NbbbN NbbbN", " CbC CbC CbC CbC ", " CbC CbC CbC CbC ", " CbC CbC CbC CbC ", "NbbbN NbbbNNNNNsNsNNNNNbbbN NbbbN",}, - {" N N N N ", " bCCCb bCCCb ", " ss bCCCb bCCCb ss ", " bCCCb bCCCb ", " s NCCCN NCCCN s ", " s NCCCN NCCCN s ", " NCCCN NCCCN ", " bCCCb bCCCb ", " bCCCb bCCCb ", "NbbbNNNbbNCCCb bCCCNbbNNNbbbN", " CCCCCCCCC N N CCCCCCCCC ", " CCCCCCCCC CCCCCCCCC ", " CCCCCCCCC CCCCCCCCC ", "NbbbNNNbbbN NbbbNNNbbbN", " N N N N ", " N N N N ", " ", " N N N N ", " N N N N ", "NbbbNNNbbbN NbbbNNNbbbN", " CCCCCCCCC CCCCCCCCC ", " CCCCCCCCC CCCCCCCCC ", " CCCCCCCCC CCCCCCCCC ", "NbbbNNNbbbN NbN NbbbNNNbbbN",}, - {" ", " N N N N ", " s N N N N s ", " s NCCCN NCCCN s ", " ", " ", " ", " NCCCN NCCCN ", " N N N N ", " NNN NN N N NN NNN ", " C C C C ", " C C C C ", " C C C C ", " NNN NNN NNN NNN ", " ", " ", " ", " ", " ", " NNN NNN NNN NNN ", " C C C C ", " C C C C ", " C C C C ", " NNN NNN NbN NNN NNN ",}, - {" ", " ", " s s ", " s NCCCN NCCCN s ", " ", " ", " ", " NCCCN NCCCN ", " ", " N N N N ", " C C C C ", " C C C C ", " C C C C ", " N N N N ", " ", " ", " ", " ", " ", " N N N N ", " C C C C ", " C C C C ", " C C C C ", " N N NbN N N ",}, - {" ", " N N N N ", " N N N N N N ", " NCCCN NCCCN ", " ", " ", " ", " NCCCN NCCCN ", " N N N N ", " NNN NN N N NN NNN ", " C C C C ", " C C C C ", " C C C C ", " NNN NNN NNN NNN ", " ", " ", " ", " ", " ", " NNN NNN NNN NNN ", " C C C C ", " C C C C ", " C C C C ", " NNN NNN NbN NNN NNN ",}, - {" N N N N ", " bCCCb bCCCb ", " N bCCCb bCCCb N ", " bCCCb bCCCb ", " NCCCN NCCCN ", " NCCCN NCCCN ", " NCCCN NCCCN ", " bCCCb bCCCb ", " bCCCb bCCCb ", "NbbbNNNbbNCCCb bCCCNbbNNNbbbN", " CCCCCCCCC N N CCCCCCCCC ", " CCCCCCCCC CCCCCCCCC ", " CCCCCCCCC CCCCCCCCC ", "NbbbNNNbbbN NbbbNNNbbbN", " N N N N ", " N N N N ", " ", " N N N N ", " N N N N ", "NbbbNNNbbbN NbbbNNNbbbN", " CCCCCCCCC CCCCCCCCC ", " CCCCCCCCC CCCCCCCCC ", " CCCCCCCCC CCCCCCCCC ", "NbbbNNNbbbN NbN NbbbNNNbbbN",}, - {" N N N N ", " bCCCb bCCCb ", " N sbbbbbNNsNNbbbbbs N ", " bCCCb bCCCb ", " N N N N ", " ", " N N N N ", " bCCCb bCCCb ", " s sbbbbbNNsNNbbbbbs s ", "NbbbN NbbNCCCb bCCCNbbN NbbbN", " CbC CbC N N CbC CbC ", " CbC CbC CbC CbC ", " CbC CbC CbC CbC ", "NbbbN NbbbN NbbbN NbbbN", " NNN NNN NNN NNN ", " NNN NNN NNN NNN ", " s s s s ", " NNN NNN NNN NNN ", " NNN NNN NNN NNN ", "NbbbN NbbbN NbbbN NbbbN", " CbC CbC CbC CbC ", " CbC CbC CbC CbC ", " CbC CbC CbC CbC ", "NbbbN NbbbNNNNNsNsNNNNNbbbN NbbbN",}, - {" NNN NNN N N NNN NNN ", "NbbbN NbbNCCCb bCCCNbbN NbbbN", "NbbbN NbbNCCCb bCCCNbbN NbbbN", "NbbbNNNbbNCCCb bCCCNbbNNNbbbN", " NNN NNN N N NNN NNN ", " N N N N ", " NNN NNN N N NNN NNN ", "NbbbNNNbbNCCCb bCCCNbbNNNbbbN", "NbbbN NbbNCCCb bCCCNbbN NbbbN", "NNNN NNNCCCb bCCCNNN NNNN", " CCC CCC N N CCC CCC ", " CCC CCC CCC CCC ", " CCC CCC CCC CCC ", "NbbbN NbbbN NbbbN NbbbN", " N N N N ", " N N N N ", " ", " N N N N ", " N N N N ", "NbbbN NbbbN NbbbN NbbbN", " CCC CCC CCC CCC ", " CCC CCC CCC CCC ", " CCC CCC CCC CCC ", "NbbbN NbbbN NbN NbbbN NbbbN",}, - {" ", " CCC CCC N N CCC CCC ", " CbC CbC N N CbC CbC ", " CCCCCCCCC N N CCCCCCCCC ", " C C C C ", " C C C C ", " C C C C ", " CCCCCCCCC N N CCCCCCCCC ", " CbC CbC N N CbC CbC ", " CCC CCC N N CCC CCC ", " ", " ", " ", " NNN NNN NNN NNN ", " ", " ", " ", " ", " ", " NNN NNN NNN NNN ", " ", " ", " ", " NNN NNN NbN NNN NNN ",}, - {" ", " CCC CCC CCC CCC ", " CbC CbC CbC CbC ", " CCCCCCCCC CCCCCCCCC ", " C C C C ", " C C C C ", " C C C C ", " CCCCCCCCC CCCCCCCCC ", " CbC CbC CbC CbC ", " CCC CCC CCC CCC ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " N N NbN N N ",}, - {" ", " CCC CCC CCC CCC ", " CbC CbC CbC CbC ", " CCCCCCCCC CCCCCCCCC ", " C C C C ", " C C C C ", " C C C C ", " CCCCCCCCC CCCCCCCCC ", " CbC CbC CbC CbC ", " CCC CCC CCC CCC ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " N N NbN N N ",}, - {" NNN NNN NNN NNN ", "NbbbN NbbbN NbbbN NbbbN", "NbbbN NbbbN NbbbN NbbbN", "NbbbNNNbbbN NbbbNNNbbbN", " NNN NNN NNN NNN ", " N N N N ", " NNN NNN NNN NNN ", "NbbbNNNbbbN NbbbNNNbbbN", "NbbbN NbbbN NbbbN NbbbN", "NbbbN NbbbN NbbbN NbbbN", " NNN NNN NNN NNN ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " N N NsNsN N N ",}, - {" ", " ", " N N N N ", " ", " ", " ", " ", " ", " N N N N ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " N N NbbbbbN N N ",}, - {" ", " ", " N N N N ", " ", " ", " ", " ", " ", " N N N N ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " N ", " NsNNNNNsNNNNsbbbbbsNNNNsNNNNNsN ",}, - {" ", " ", " s s s s ", " ", " ", " ", " ", " ", " s s s s ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ~ ", " NNN ", " NbbbbbNbbbbNbbbbbNbbbbNbbbbbN ",}, - {" ", " ", " N N N N ", " ", " ", " ", " ", " ", " N N N N ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " N ", " NsNNNNNsNNNNsbbbbbsNNNNsNNNNNsN ",}, - {" ", " ", " N N N N ", " ", " ", " ", " ", " ", " N N N N ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " N N NbbbbbN N N ",}, - {" NNN NNN NNN NNN ", "NbbbN NbbbN NbbbN NbbbN", "NbbbN NbbbN NbbbN NbbbN", "NbbbNNNbbbN NbbbNNNbbbN", " NNN NNN NNN NNN ", " N N N N ", " NNN NNN NNN NNN ", "NbbbNNNbbbN NbbbNNNbbbN", "NbbbN NbbbN NbbbN NbbbN", "NbbbN NbbbN NbbbN NbbbN", " NNN NNN NNN NNN ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " N N NsNsN N N ",}, - {" ", " CCC CCC CCC CCC ", " CbC CbC CbC CbC ", " CCCCCCCCC CCCCCCCCC ", " C C C C ", " C C C C ", " C C C C ", " CCCCCCCCC CCCCCCCCC ", " CbC CbC CbC CbC ", " CCC CCC CCC CCC ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " N N NbN N N ",}, - {" ", " CCC CCC CCC CCC ", " CbC CbC CbC CbC ", " CCCCCCCCC CCCCCCCCC ", " C C C C ", " C C C C ", " C C C C ", " CCCCCCCCC CCCCCCCCC ", " CbC CbC CbC CbC ", " CCC CCC CCC CCC ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " N N NbN N N ",}, - {" ", " CCC CCC N N CCC CCC ", " CbC CbC N N CbC CbC ", " CCCCCCCCC N N CCCCCCCCC ", " C C C C ", " C C C C ", " C C C C ", " CCCCCCCCC N N CCCCCCCCC ", " CbC CbC N N CbC CbC ", " CCC CCC N N CCC CCC ", " ", " ", " ", " NNN NNN NNN NNN ", " ", " ", " ", " ", " ", " NNN NNN NNN NNN ", " ", " ", " ", " NNN NNN NbN NNN NNN ",}, - {" NNN NNN N N NNN NNN ", "NbbbN NbbNCCCb bCCCNbbN NbbbN", "NbbbN NbbNCCCb bCCCNbbN NbbbN", "NbbbNNNbbNCCCb bCCCNbbNNNbbbN", " NNN NNN N N NNN NNN ", " N N N N ", " NNN NNN N N NNN NNN ", "NbbbNNNbbNCCCb bCCCNbbNNNbbbN", "NbbbN NbbNCCCb bCCCNbbN NbbbN", "NNNN NNNCCCb bCCCNNN NNNN", " CCC CCC N N CCC CCC ", " CCC CCC CCC CCC ", " CCC CCC CCC CCC ", "NbbbN NbbbN NbbbN NbbbN", " N N N N ", " N N N N ", " ", " N N N N ", " N N N N ", "NbbbN NbbbN NbbbN NbbbN", " CCC CCC CCC CCC ", " CCC CCC CCC CCC ", " CCC CCC CCC CCC ", "NbbbN NbbbN NbN NbbbN NbbbN",}, - {" N N N N ", " bCCCb bCCCb ", " N sbbbbbNNsNNbbbbbs N ", " bCCCb bCCCb ", " N N N N ", " ", " N N N N ", " bCCCb bCCCb ", " s sbbbbbNNsNNbbbbbs s ", "NbbbN NbbNCCCb bCCCNbbN NbbbN", " CbC CbC N N CbC CbC ", " CbC CbC CbC CbC ", " CbC CbC CbC CbC ", "NbbbN NbbbN NbbbN NbbbN", " NNN NNN NNN NNN ", " NNN NNN NNN NNN ", " s s s s ", " NNN NNN NNN NNN ", " NNN NNN NNN NNN ", "NbbbN NbbbN NbbbN NbbbN", " CbC CbC CbC CbC ", " CbC CbC CbC CbC ", " CbC CbC CbC CbC ", "NbbbN NbbbNNNNNsNsNNNNNbbbN NbbbN",}, - {" N N N N ", " bCCCb bCCCb ", " N bCCCb bCCCb N ", " bCCCb bCCCb ", " NCCCN NCCCN ", " NCCCN NCCCN ", " NCCCN NCCCN ", " bCCCb bCCCb ", " bCCCb bCCCb ", "NbbbNNNbbNCCCb bCCCNbbNNNbbbN", " CCCCCCCCC N N CCCCCCCCC ", " CCCCCCCCC CCCCCCCCC ", " CCCCCCCCC CCCCCCCCC ", "NbbbNNNbbbN NbbbNNNbbbN", " N N N N ", " N N N N ", " ", " N N N N ", " N N N N ", "NbbbNNNbbbN NbbbNNNbbbN", " CCCCCCCCC CCCCCCCCC ", " CCCCCCCCC CCCCCCCCC ", " CCCCCCCCC CCCCCCCCC ", "NbbbNNNbbbN NbN NbbbNNNbbbN",}, - {" ", " N N N N ", " N N N N N N ", " NCCCN NCCCN ", " ", " ", " ", " NCCCN NCCCN ", " N N N N ", " NNN NN N N NN NNN ", " C C C C ", " C C C C ", " C C C C ", " NNN NNN NNN NNN ", " ", " ", " ", " ", " ", " NNN NNN NNN NNN ", " C C C C ", " C C C C ", " C C C C ", " NNN NNN NbN NNN NNN ",}, - {" ", " ", " s s ", " s NCCCN NCCCN s ", " ", " ", " ", " NCCCN NCCCN ", " ", " N N N N ", " C C C C ", " C C C C ", " C C C C ", " N N N N ", " ", " ", " ", " ", " ", " N N N N ", " C C C C ", " C C C C ", " C C C C ", " N N NbN N N ",}, - {" ", " N N N N ", " s N N N N s ", " s NCCCN NCCCN s ", " ", " ", " ", " NCCCN NCCCN ", " N N N N ", " NNN NN N N NN NNN ", " C C C C ", " C C C C ", " C C C C ", " NNN NNN NNN NNN ", " ", " ", " ", " ", " ", " NNN NNN NNN NNN ", " C C C C ", " C C C C ", " C C C C ", " NNN NNN NbN NNN NNN ",}, - {" N N N N ", " bCCCb bCCCb ", " ss bCCCb bCCCb ss ", " bCCCb bCCCb ", " s NCCCN NCCCN s ", " s NCCCN NCCCN s ", " NCCCN NCCCN ", " bCCCb bCCCb ", " bCCCb bCCCb ", "NbbbNNNbbNCCCb bCCCNbbNNNbbbN", " CCCCCCCCC N N CCCCCCCCC ", " CCCCCCCCC CCCCCCCCC ", " CCCCCCCCC CCCCCCCCC ", "NbbbNNNbbbN NbbbNNNbbbN", " N N N N ", " N N N N ", " ", " N N N N ", " N N N N ", "NbbbNNNbbbN NbbbNNNbbbN", " CCCCCCCCC CCCCCCCCC ", " CCCCCCCCC CCCCCCCCC ", " CCCCCCCCC CCCCCCCCC ", "NbbbNNNbbbN NbN NbbbNNNbbbN",}, - {" N N N N ", " bCCCb bCCCb ", " NNNbbbbbNNsNNbbbbbNNN ", " ss bCCCb bCCCb ss ", " s N N N N s ", " s s ", " N N N N N N ", " N bCCCb bCCCb N ", " N sbbbbbNNsNNbbbbbs N ", "NbbbN NbbNCCCb bCCCNbbN NbbbN", " CbC CbC N N CbC CbC ", " CbC CbC CbC CbC ", " CbC CbC CbC CbC ", "NbbbN NbbbN NbbbN NbbbN", " NNN NNN NNN NNN ", " NNN NNN NNN NNN ", " s s s s ", " NNN NNN NNN NNN ", " NNN NNN NNN NNN ", "NbbbN NbbbN NbbbN NbbbN", " CbC CbC CbC CbC ", " CbC CbC CbC CbC ", " CbC CbC CbC CbC ", "NbbbN NbbbNNNNNsNsNNNNNbbbN NbbbN",}, - {" N N N N ", " bCCCb bCCCb ", " bCCCb bCCCb ", " bCCCb bCCCb ", " N N N N ", " ", " N N N N ", " bCCCb bCCCb ", " bCCCb bCCCb ", "NbbbN NbbNCCCb bCCCNbbN NbbbN", " CCC CCC N N CCC CCC ", " CCC CCC CCC CCC ", " CCC CCC CCC CCC ", "NbbbN NbbbN NbbbN NbbbN", " N N N N ", " N N N N ", " ", " N N N N ", " N N N N ", "NbbbN NbbbN NbbbN NbbbN", " CCC CCC CCC CCC ", " CCC CCC CCC CCC ", " CCC CCC CCC CCC ", "NbbbN NbbbN N N NbbbN NbbbN",}, - {" ", " N N N N ", " N N N N ", " N N N N ", " ", " ", " ", " N N N N ", " N N N N ", " NNN NNN N N NNN NNN ", " ", " ", " ", " NNN NNN NNN NNN ", " ", " ", " ", " ", " ", " NNN NNN NNN NNN ", " ", " ", " ", " NNN NNN NNN NNN ",} - }) - .addElement('C', ofCoil(GT_MetaTileEntity_PlasmaForge::setCoilLevel, GT_MetaTileEntity_PlasmaForge::getCoilLevel)) - .addElement('b', ofHatchAdderOptional(GT_MetaTileEntity_PlasmaForge::addBottomHatch, USEFUL_CASING, 3, GregTech_API.sBlockCasings1, USEFUL_CASING)) - .addElement('N', ofBlock(GregTech_API.sBlockCasings1, NULL_CASING)) - .addElement('s', ofBlock(GregTech_API.sBlockCasings1, DIM_CASING)) - .build(); + .addShape(STRUCTURE_PIECE_MAIN, structure_string) + .addElement('C', ofCoil(GT_MetaTileEntity_PlasmaForge::setCoilLevel, GT_MetaTileEntity_PlasmaForge::getCoilLevel)) + .addElement('b', ofHatchAdderOptional(GT_MetaTileEntity_PlasmaForge::addBottomHatch, DIM_INJECTION_CASING, 3, GregTech_API.sBlockCasings1, DIM_INJECTION_CASING)) + .addElement('N', ofBlock(GregTech_API.sBlockCasings1, DIM_TRANS_CASING)) + .addElement('s', ofBlock(GregTech_API.sBlockCasings1, DIM_BRIDGE_CASING)) + .build(); + + @Override + protected boolean addBottomHatch(IGregTechTileEntity aTileEntity, int aBaseCasingIndex) { + boolean exotic = addExoticEnergyInputToMachineList(aTileEntity, aBaseCasingIndex); + return super.addBottomHatch(aTileEntity, aBaseCasingIndex) || exotic; + } public GT_MetaTileEntity_PlasmaForge(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional); @@ -106,37 +132,56 @@ public class GT_MetaTileEntity_PlasmaForge extends GT_MetaTileEntity_AbstractMul @Override protected GT_Multiblock_Tooltip_Builder createTooltip() { GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder(); - tt.addMachineType("Blast Furnace") - .addInfo("Controller block for the Dimensionally Transcendent Plasma Forge") - .addInfo("Author: Colen") - .addSeparator() - .beginStructureBlock(33, 24, 33, false) - .addStructureInfo("Structure is too complex! See schematic for details.") - .addStructureInfo("2112 Heating coils required.") - .addStructureInfo("120 Dimensional bridge blocks required.") - .addStructureInfo("1270 Dimensional injection casing required.") - .addStructureInfo("2121 Dimensionally transcendent casing required.") - .addStructureInfo("--------------------------------------------") - .addStructureInfo("If you are having difficulty with the blueprint") - .addStructureInfo("you can rotate the controller. This multi is symmetrical.") - .toolTipFinisher("Gregtech"); + tt.addInfo("Transcending Dimensional Boundaries.") + .addInfo("Takes " + EnumChatFormatting.RED + GT_Utility.formatNumbers(max_efficiency_time_in_ticks/(3600*20)) + EnumChatFormatting.GRAY + " hours of continuous run time to fully breach dimensional") + .addInfo("boundaries and achieve maximum efficiency. This reduces fuel") + .addInfo("consumption by up to " + EnumChatFormatting.RED + GT_Utility.formatNumbers(100*maximum_discount) + "%" + EnumChatFormatting.GRAY + ". Does not overclock.") + .addInfo("Author: " + + EnumChatFormatting.RED + EnumChatFormatting.BOLD + EnumChatFormatting.ITALIC + EnumChatFormatting.UNDERLINE + "C" + + EnumChatFormatting.GOLD + EnumChatFormatting.BOLD + EnumChatFormatting.ITALIC + EnumChatFormatting.UNDERLINE + "o" + + EnumChatFormatting.YELLOW + EnumChatFormatting.BOLD + EnumChatFormatting.ITALIC + EnumChatFormatting.UNDERLINE + "l" + + EnumChatFormatting.GREEN + EnumChatFormatting.BOLD + EnumChatFormatting.ITALIC + EnumChatFormatting.UNDERLINE + "e" + + EnumChatFormatting.AQUA + EnumChatFormatting.BOLD + EnumChatFormatting.ITALIC + EnumChatFormatting.UNDERLINE + "n") + .addSeparator() + .beginStructureBlock(33, 24, 33, false) + .addStructureInfo("DTPF Structure is too complex! See schematic for details.") + .addStructureInfo("2112 Heating coils required.") + .addStructureInfo("120 Dimensional bridge blocks required.") + .addStructureInfo("1270 Dimensional injection casings required.") + .addStructureInfo("2121 Dimensionally transcendent casings required.") + .addStructureInfo("--------------------------------------------") + .addStructureInfo("Requires 1-2 energy hatches or 1 TT energy hatch.") + .addStructureInfo("Requires 1 maintenance hatch.") + .addStructureInfo("Requires 0-6 input hatches.") + .addStructureInfo("Requires 0-2 output hatches.") + .addStructureInfo("Requires 0-2 input busses.") + .addStructureInfo("Requires 0-2 output busses.") + .addStructureInfo("--------------------------------------------") + .addStructureInfo("If you are having difficulties with the blueprint") + .addStructureInfo("you can rotate the controller. This multi is symmetrical.") + .toolTipFinisher("Gregtech"); return tt; } @Override + public boolean addToMachineList(IGregTechTileEntity aTileEntity, int aBaseCasingIndex) { + boolean exotic = addExoticEnergyInputToMachineList(aTileEntity, aBaseCasingIndex); + return super.addToMachineList(aTileEntity, aBaseCasingIndex) || exotic; + } + + @Override public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) { if (aSide == aFacing) { if (aActive) return new ITexture[]{ - casingTexturePages[0][DIM_CASING], - TextureFactory.builder().addIcon(OVERLAY_FRONT_ELECTRIC_BLAST_FURNACE_ACTIVE).extFacing().build(), - TextureFactory.builder().addIcon(OVERLAY_FRONT_ELECTRIC_BLAST_FURNACE_ACTIVE_GLOW).extFacing().glow().build()}; + casingTexturePages[0][DIM_BRIDGE_CASING], + TextureFactory.builder().addIcon(OVERLAY_DTPF_ON).extFacing().build(), + TextureFactory.builder().addIcon(OVERLAY_FUSION1_GLOW).extFacing().glow().build()}; return new ITexture[]{ - casingTexturePages[0][DIM_CASING], - TextureFactory.builder().addIcon(OVERLAY_FRONT_ELECTRIC_BLAST_FURNACE).extFacing().build(), - TextureFactory.builder().addIcon(OVERLAY_FRONT_ELECTRIC_BLAST_FURNACE_GLOW).extFacing().glow().build()}; + casingTexturePages[0][DIM_BRIDGE_CASING], + TextureFactory.builder().addIcon(OVERLAY_DTPF_OFF).extFacing().build()}; } - return new ITexture[]{casingTexturePages[0][DIM_CASING]}; + return new ITexture[]{casingTexturePages[0][DIM_BRIDGE_CASING]}; } @Override @@ -166,47 +211,76 @@ public class GT_MetaTileEntity_PlasmaForge extends GT_MetaTileEntity_AbstractMul @Override public boolean checkRecipe(ItemStack aStack) { - return processRecipe(getCompactedInputs(), getCompactedFluids()); + boolean recipe_process = processRecipe(getCompactedInputs(), getCompactedFluids()); + + // If recipe cannot be found then continuity is broken and reset running time to 0. + if (!recipe_process) { + running_time = 0; + discount = 1; + } + + return recipe_process; } protected boolean processRecipe(ItemStack[] tItems, FluidStack[] tFluids) { // Get information about multi configuration. - long tVoltage = getMaxInputVoltage(); + long tVoltage = GT_ExoticEnergyInputHelper.getMaxInputVoltageMulti(getExoticAndNormalEnergyHatchList()); byte tTier = (byte) Math.max(1, GT_Utility.getTier(tVoltage)); - // Look up recipe. - GT_Recipe tRecipe = GT_Recipe.GT_Recipe_Map.sPlasmaForgeRecipes.findRecipe( - getBaseMetaTileEntity(), - false, - V[tTier], - tFluids, - tItems + // Look up recipe. If not found it will return null. + GT_Recipe tRecipe_0 = GT_Recipe.GT_Recipe_Map.sPlasmaForgeRecipes.findRecipe( + getBaseMetaTileEntity(), + false, + V[tTier], + tFluids, + tItems ); - // Sanity checks. - if (tRecipe == null) + // Sanity check. + if (tRecipe_0 == null) + return false; + + // If coil heat capacity is too low, refuse to start recipe. + if (mHeatingCapacity <= tRecipe_0.mSpecialValue) return false; - if (!tRecipe.isRecipeInputEqual(true, tFluids, tItems)) { + // Reduce fuel quantity if machine has been running for long enough. + GT_Recipe tRecipe_1 = tRecipe_0.copy(); + for(int i = 0; i < tRecipe_0.mFluidInputs.length; i++) { + if (tRecipe_1.mFluidInputs[i].isFluidEqual(Materials.ExcitedDTCC.getFluid(1L))) { + // If running for max_efficiency_time_in_ticks then discount is at maximum + double time_percentage = running_time / max_efficiency_time_in_ticks; + time_percentage = Math.min(time_percentage, 1.0d); + discount = (1 - time_percentage); + discount = Math.max(maximum_discount, discount); + tRecipe_1.mFluidInputs[i].amount = (int) Math.round(tRecipe_1.mFluidInputs[i].amount * discount); + } + } + + // Takes items/fluids from hatches/busses. + if (!tRecipe_1.isRecipeInputEqual(true, tFluids, tItems)) { return false; } // Vital recipe info. - mEUt = -tRecipe.mEUt; - mMaxProgresstime = tRecipe.mDuration; + mEUt = -tRecipe_0.mEUt; + mMaxProgresstime = tRecipe_0.mDuration; mMaxProgresstime = Math.max(1, mMaxProgresstime); - // Outputs. - mOutputItems = tRecipe.mOutputs.clone(); - mOutputFluids = tRecipe.mFluidOutputs.clone(); + // Output items/fluids. + mOutputItems = tRecipe_0.mOutputs.clone(); + mOutputFluids = tRecipe_0.mFluidOutputs.clone(); updateSlots(); + // All conditions met so increment running_time. + running_time += mMaxProgresstime; return true; } @Override public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) { + this.mHeatingCapacity = 0; setCoilLevel(HeatingCoilLevel.None); @@ -217,38 +291,56 @@ public class GT_MetaTileEntity_PlasmaForge extends GT_MetaTileEntity_AbstractMul if (getCoilLevel() == HeatingCoilLevel.None) return false; - // Hatch limits. - if (mInputBusses.size() > 3) + // Item input bus check. + if ((mInputBusses.size() < min_input_bus) || (mInputBusses.size() > max_input_bus)) return false; - if (mOutputBusses.size() > 3) + // Item output bus check. + if ((mOutputBusses.size() < min_output_bus) || (mOutputBusses.size() > max_output_bus)) return false; - // Numerous input hatches required to satisfy fluid inputs for superconductor recipes. - if (mInputHatches.size() > 6) + // Fluid input hatch check. + if ((mInputHatches.size() < min_input_hatch) || (mInputHatches.size() > max_input_hatch)) return false; - if (mOutputHatches.size() > 3) + // Fluid output hatch check. + if ((mOutputHatches.size() < min_output_hatch) || (mOutputHatches.size() > max_output_hatch)) return false; - // Check that there is between 1 and 2 energy hatches in the multi. - if (!((mEnergyHatches.size() == 1) || (mEnergyHatches.size() == 2))) - return false; + // If there is more than 1 TT energy hatch, the structure check will fail. + // If there is a TT hatch and a normal hatch, the structure check will fail. + if (mExoticEnergyHatches.size() > 0){ + if (mEnergyHatches.size() > 0) return false; + if (mExoticEnergyHatches.size() > 1) return false; + } + + // If there is 0 or more than 2 energy hatches structure check will fail. + if (mEnergyHatches.size() > 0) { + if (mEnergyHatches.size() > 2) return false; - // Check whether each energy hatch is the same tier. - byte tier_of_hatch = mEnergyHatches.get(0).mTier; - for(GT_MetaTileEntity_Hatch_Energy energyHatch : mEnergyHatches) { - if (energyHatch.mTier != tier_of_hatch) { return false; } + // Check will also fail if energy hatches are not of the same tier. + byte tier_of_hatch = mEnergyHatches.get(0).mTier; + for(GT_MetaTileEntity_Hatch_Energy energyHatch : mEnergyHatches) { + if (energyHatch.mTier != tier_of_hatch) { return false; } + } } + // One maintenance hatch only. Mandatory. if (mMaintenanceHatches.size() != 1) return false; - // Heat capacity of coils used on multi. - this.mHeatingCapacity = (int) getCoilLevel().getHeat() + 100 * (GT_Utility.getTier(getMaxInputVoltage()) - 2); + // Heat capacity of coils used on multi. No free heat from extra EU! + this.mHeatingCapacity = (int) getCoilLevel().getHeat(); + + // All structure checks passed, return true. return true; } + public void clearHatches() { + super.clearHatches(); + mExoticEnergyHatches.clear(); + } + @Override public boolean addOutput(FluidStack aLiquid) { if (aLiquid == null) @@ -260,39 +352,70 @@ public class GT_MetaTileEntity_PlasmaForge extends GT_MetaTileEntity_AbstractMul } @Override + public boolean drainEnergyInput(long aEU) { + return GT_ExoticEnergyInputHelper.drainEnergy(aEU, getExoticAndNormalEnergyHatchList()); + } + + @Override + public boolean onRunningTick(ItemStack aStack) { + if (mEUt < 0) { + if (!drainEnergyInput(-mEUt)) { + running_time = 0; + discount = 1; + criticalStopMachine(); + return false; + } + } + + return true; + } + + @Override public String[] getInfoData() { - long storedEnergy = 0; - long maxEnergy = 0; - for (GT_MetaTileEntity_Hatch_Energy tHatch : mEnergyHatches) { - if (!isValidMetaTileEntity(tHatch)) - continue; - storedEnergy += tHatch.getBaseMetaTileEntity().getStoredEU(); - maxEnergy += tHatch.getBaseMetaTileEntity().getEUCapacity(); + + long storedEnergy=0; + long maxEnergy=0; + + for(GT_MetaTileEntity_Hatch tHatch : mExoticEnergyHatches) { + if (isValidMetaTileEntity(tHatch)) { + storedEnergy+=tHatch.getBaseMetaTileEntity().getStoredEU(); + maxEnergy+=tHatch.getBaseMetaTileEntity().getEUCapacity(); + } } return new String[]{ "------------ Critical Information ------------", StatCollector.translateToLocal("GT5U.multiblock.Progress") + ": " + - EnumChatFormatting.GREEN + GT_Utility.formatNumbers(mProgresstime) + EnumChatFormatting.RESET + "t / " + - EnumChatFormatting.YELLOW + GT_Utility.formatNumbers(mMaxProgresstime) + EnumChatFormatting.RESET + "t", + EnumChatFormatting.GREEN + GT_Utility.formatNumbers(mProgresstime) + EnumChatFormatting.RESET + "t / " + + EnumChatFormatting.YELLOW + GT_Utility.formatNumbers(mMaxProgresstime) + EnumChatFormatting.RESET + "t", StatCollector.translateToLocal("GT5U.multiblock.energy") + ": " + - EnumChatFormatting.GREEN + GT_Utility.formatNumbers(storedEnergy) + EnumChatFormatting.RESET + " EU / " + - EnumChatFormatting.YELLOW + GT_Utility.formatNumbers(maxEnergy) + EnumChatFormatting.RESET + " EU", + EnumChatFormatting.GREEN + GT_Utility.formatNumbers(storedEnergy) + EnumChatFormatting.RESET + " EU / " + + EnumChatFormatting.YELLOW + GT_Utility.formatNumbers(maxEnergy) + EnumChatFormatting.RESET + " EU", StatCollector.translateToLocal("GT5U.multiblock.usage") + ": " + - EnumChatFormatting.RED + GT_Utility.formatNumbers(-mEUt) + EnumChatFormatting.RESET + " EU/t", + EnumChatFormatting.RED + GT_Utility.formatNumbers(-mEUt) + EnumChatFormatting.RESET + " EU/t", StatCollector.translateToLocal("GT5U.multiblock.mei") + ": " + - EnumChatFormatting.YELLOW + GT_Utility.formatNumbers(getMaxInputVoltage()) + EnumChatFormatting.RESET + " EU/t(*2A) " + - StatCollector.translateToLocal("GT5U.machines.tier") + ": " + - EnumChatFormatting.YELLOW + VN[GT_Utility.getTier(getMaxInputVoltage())] + EnumChatFormatting.RESET, + EnumChatFormatting.YELLOW + GT_Utility.formatNumbers(GT_ExoticEnergyInputHelper.getMaxInputVoltageMulti(getExoticAndNormalEnergyHatchList())) + EnumChatFormatting.RESET + " EU/t(*" + EnumChatFormatting.YELLOW + GT_Utility.formatNumbers(GT_ExoticEnergyInputHelper.getMaxInputAmpsMulti(getExoticAndNormalEnergyHatchList())) + EnumChatFormatting.RESET + "A) " + + StatCollector.translateToLocal("GT5U.machines.tier") + ": " + + EnumChatFormatting.YELLOW + VN[GT_Utility.getTier(GT_ExoticEnergyInputHelper.getMaxInputVoltageMulti(getExoticAndNormalEnergyHatchList()))] + EnumChatFormatting.RESET, StatCollector.translateToLocal("GT5U.EBF.heat") + ": " + - EnumChatFormatting.GREEN + GT_Utility.formatNumbers(mHeatingCapacity) + EnumChatFormatting.RESET + " K", - "----------------------------------------------" - + EnumChatFormatting.GREEN + GT_Utility.formatNumbers(mHeatingCapacity) + EnumChatFormatting.RESET + " K", + "Ticks run: " + EnumChatFormatting.GREEN + GT_Utility.formatNumbers(running_time) + EnumChatFormatting.RESET + ", Fuel Discount: " + EnumChatFormatting.RED + GT_Utility.formatNumbers(100 * (1-discount)) + EnumChatFormatting.RESET + "%", + "-----------------------------------------" }; } + public List<GT_MetaTileEntity_Hatch> getExoticAndNormalEnergyHatchList() { + List<GT_MetaTileEntity_Hatch> tHatches = new ArrayList<>(); + tHatches.addAll(mExoticEnergyHatches); + tHatches.addAll(mEnergyHatches); + return tHatches; + } + public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { if (aBaseMetaTileEntity.isServerSide() && !aBaseMetaTileEntity.isAllowedToWork()) { + // Reset running time and discount. + running_time = 0; + discount = 1; // If machine has stopped, stop chunkloading. GT_ChunkManager.releaseTicket((TileEntity) aBaseMetaTileEntity); isMultiChunkloaded = false; @@ -315,6 +438,7 @@ public class GT_MetaTileEntity_PlasmaForge extends GT_MetaTileEntity_AbstractMul isMultiChunkloaded = true; } + super.onPostTick(aBaseMetaTileEntity, aTick); } @@ -325,11 +449,13 @@ public class GT_MetaTileEntity_PlasmaForge extends GT_MetaTileEntity_AbstractMul @Override public void saveNBTData(NBTTagCompound aNBT) { + aNBT.setLong("eRunningTime", running_time); super.saveNBTData(aNBT); } @Override public void loadNBTData(final NBTTagCompound aNBT) { + running_time = aNBT.getLong("eRunningTime"); super.loadNBTData(aNBT); } } diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ProcessingArray.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ProcessingArray.java index fde9c184cc..e615a8489e 100644 --- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ProcessingArray.java +++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ProcessingArray.java @@ -481,7 +481,7 @@ public class GT_MetaTileEntity_ProcessingArray extends GT_MetaTileEntity_CubicMu StatCollector.translateToLocal("GT5U.multiblock.usage") + ": " + EnumChatFormatting.RED + GT_Utility.formatNumbers(-mEUt) + EnumChatFormatting.RESET + " EU/t", StatCollector.translateToLocal("GT5U.multiblock.mei") + ": " + - EnumChatFormatting.YELLOW + GT_Utility.formatNumbers(GT_ExoticEnergyInputHelper.getMaxInputVoltageMulti(getExoticAndNormalEnergyHatchList())) + EnumChatFormatting.RESET + " EU/t(*" + GT_ExoticEnergyInputHelper.getMaxInputAmpsMulti(getExoticAndNormalEnergyHatchList()) + "A) " + + EnumChatFormatting.YELLOW + GT_Utility.formatNumbers(GT_ExoticEnergyInputHelper.getMaxInputVoltageMulti(getExoticAndNormalEnergyHatchList())) + EnumChatFormatting.RESET + " EU/t(*" + GT_Utility.formatNumbers(GT_ExoticEnergyInputHelper.getMaxInputAmpsMulti(getExoticAndNormalEnergyHatchList())) + "A) " + StatCollector.translateToLocal("GT5U.machines.tier") + ": " + EnumChatFormatting.YELLOW + VN[GT_Utility.getTier(GT_ExoticEnergyInputHelper.getMaxInputVoltageMulti(getExoticAndNormalEnergyHatchList()))] + EnumChatFormatting.RESET, StatCollector.translateToLocal("GT5U.multiblock.problems") + ": " + diff --git a/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java b/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java index 8e1480f3cb..d8bb0ad6e5 100644 --- a/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java +++ b/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java @@ -84,7 +84,7 @@ public class GT_MachineRecipeLoader implements Runnable { e.printStackTrace(GT_Log.err); } - GT_Values.RA.addArcFurnaceRecipe(ItemList.Block_TungstenSteelReinforced.get(1), new ItemStack[]{ GT_OreDictUnificator.get(OrePrefixes.ingot,Materials.TungstenSteel,2), GT_OreDictUnificator.get(OrePrefixes.dust,Materials.Concrete,1)}, null, 160, 96); + GT_Values.RA.addArcFurnaceRecipe(ItemList.Block_TungstenSteelReinforced.get(1), new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.TungstenSteel, 2), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Concrete, 1)}, null, 160, 96); GT_Values.RA.addPrinterRecipe(GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Paper, 1L), FluidRegistry.getFluidStack("squidink", 36), GT_Values.NI, ItemList.Paper_Punch_Card_Empty.get(1L), 100, 2); GT_Values.RA.addPrinterRecipe(ItemList.Paper_Punch_Card_Empty.get(1L), FluidRegistry.getFluidStack("squidink", 36), ItemList.Tool_DataStick.getWithName(0L, "With Punch Card Data"), ItemList.Paper_Punch_Card_Encoded.get(1L), 100, 2); @@ -106,11 +106,11 @@ public class GT_MachineRecipeLoader implements Runnable { GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Bismuth, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Brass, 1L), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Utility.getIntegratedCircuit(1), GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.getDust(Materials.BismuthBronze, 2L * OrePrefixes.dust.mMaterialAmount), (int) (500L * OrePrefixes.dust.mMaterialAmount / 3628800L), 8); GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.BlackBronze, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Nickel, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Steel, 3L), GT_Values.NI, GT_Values.NI, GT_Utility.getIntegratedCircuit(1), GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.getDust(Materials.BlackSteel, 5L * OrePrefixes.dust.mMaterialAmount), (int) (500L * OrePrefixes.dust.mMaterialAmount / 3628800L), 8); GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.SterlingSilver, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.BismuthBronze, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.BlackSteel, 4L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Steel, 2L), GT_Values.NI, GT_Utility.getIntegratedCircuit(1), GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.getDust(Materials.RedSteel, 8L * OrePrefixes.dust.mMaterialAmount), (int) (800L * OrePrefixes.dust.mMaterialAmount / 3628800L), 8); - GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.RoseGold, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Brass, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.BlackSteel, 4L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Steel, 2L), GT_Values.NI, GT_Utility.getIntegratedCircuit(1), GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.getDust(Materials.BlueSteel, 8L* OrePrefixes.dust.mMaterialAmount), (int) (800L * OrePrefixes.dust.mMaterialAmount / 3628800L), 8); - GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Copper, 3L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Gold, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Silver, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Nickel, 5L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Steel, 15L), GT_Utility.getIntegratedCircuit(14), GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.getDust(Materials.BlackSteel, 25L* OrePrefixes.dust.mMaterialAmount), (int) (800L * OrePrefixes.dust.mMaterialAmount / 3628800L), 480); - GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Copper, 4L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Silver, 4L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Bismuth, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Zinc, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.BlackSteel, 20L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Steel, 10L), GT_Values.NI, GT_Values.NI, GT_Utility.getIntegratedCircuit(15), GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.getDust(Materials.RedSteel, 40L* OrePrefixes.dust.mMaterialAmount), (int) (1200L * OrePrefixes.dust.mMaterialAmount / 3628800L), 480); - GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Copper, 31L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Gold, 4L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Zinc, 5L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.BlackSteel, 64L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.BlackSteel, 16L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Steel, 40L), GT_Values.NI, GT_Values.NI, GT_Utility.getIntegratedCircuit(16), GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.getDust(Materials.BlueSteel, 64L* OrePrefixes.dust.mMaterialAmount), GT_OreDictUnificator.getDust(Materials.BlueSteel, 64L* OrePrefixes.dust.mMaterialAmount), GT_OreDictUnificator.getDust(Materials.BlueSteel, 32L* OrePrefixes.dust.mMaterialAmount), GT_Values.NI, (int) (3600L * OrePrefixes.dust.mMaterialAmount / 3628800L), 480); - GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Cobalt, 5L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Chrome, 2L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Nickel, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Molybdenum, 1L), GT_Values.NI, GT_Utility.getIntegratedCircuit(2),GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.getDust(Materials.Ultimet, 9L * OrePrefixes.dust.mMaterialAmount), (int) (900L * OrePrefixes.dust.mMaterialAmount / 3628800L), 500); + GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.RoseGold, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Brass, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.BlackSteel, 4L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Steel, 2L), GT_Values.NI, GT_Utility.getIntegratedCircuit(1), GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.getDust(Materials.BlueSteel, 8L * OrePrefixes.dust.mMaterialAmount), (int) (800L * OrePrefixes.dust.mMaterialAmount / 3628800L), 8); + GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Copper, 3L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Gold, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Silver, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Nickel, 5L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Steel, 15L), GT_Utility.getIntegratedCircuit(14), GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.getDust(Materials.BlackSteel, 25L * OrePrefixes.dust.mMaterialAmount), (int) (800L * OrePrefixes.dust.mMaterialAmount / 3628800L), 480); + GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Copper, 4L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Silver, 4L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Bismuth, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Zinc, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.BlackSteel, 20L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Steel, 10L), GT_Values.NI, GT_Values.NI, GT_Utility.getIntegratedCircuit(15), GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.getDust(Materials.RedSteel, 40L * OrePrefixes.dust.mMaterialAmount), (int) (1200L * OrePrefixes.dust.mMaterialAmount / 3628800L), 480); + GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Copper, 31L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Gold, 4L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Zinc, 5L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.BlackSteel, 64L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.BlackSteel, 16L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Steel, 40L), GT_Values.NI, GT_Values.NI, GT_Utility.getIntegratedCircuit(16), GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.getDust(Materials.BlueSteel, 64L * OrePrefixes.dust.mMaterialAmount), GT_OreDictUnificator.getDust(Materials.BlueSteel, 64L * OrePrefixes.dust.mMaterialAmount), GT_OreDictUnificator.getDust(Materials.BlueSteel, 32L * OrePrefixes.dust.mMaterialAmount), GT_Values.NI, (int) (3600L * OrePrefixes.dust.mMaterialAmount / 3628800L), 480); + GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Cobalt, 5L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Chrome, 2L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Nickel, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Molybdenum, 1L), GT_Values.NI, GT_Utility.getIntegratedCircuit(2), GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.getDust(Materials.Ultimet, 9L * OrePrefixes.dust.mMaterialAmount), (int) (900L * OrePrefixes.dust.mMaterialAmount / 3628800L), 500); GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Brass, 7L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Aluminium, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Cobalt, 1L), GT_Values.NI, GT_Values.NI, GT_Utility.getIntegratedCircuit(1), GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.getDust(Materials.CobaltBrass, 9L * OrePrefixes.dust.mMaterialAmount), (int) (900L * OrePrefixes.dust.mMaterialAmount / 3628800L), 8); GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Saltpeter, 2L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sulfur, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Coal, 3L), GT_Values.NI, GT_Values.NI, GT_Utility.getIntegratedCircuit(1), GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.getDust(Materials.Gunpowder, 6L * OrePrefixes.dust.mMaterialAmount), (int) (600L * OrePrefixes.dust.mMaterialAmount / 3628800L), 8); GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Saltpeter, 2L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sulfur, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Charcoal, 3L), GT_Values.NI, GT_Values.NI, GT_Utility.getIntegratedCircuit(1), GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.getDust(Materials.Gunpowder, 6L * OrePrefixes.dust.mMaterialAmount), (int) (600L * OrePrefixes.dust.mMaterialAmount / 3628800L), 8); @@ -118,14 +118,14 @@ public class GT_MachineRecipeLoader implements Runnable { GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Indium, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Gallium, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Phosphorus, 1L), GT_Values.NI, GT_Values.NI, GT_Utility.getIntegratedCircuit(1), GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.getDust(Materials.IndiumGalliumPhosphide, 3L * OrePrefixes.dust.mMaterialAmount), (int) (200L * OrePrefixes.dust.mMaterialAmount / 3628800L), 8); GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Brick, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Clay, 1L), GT_Values.NI, GT_Values.NI, GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.getDust(Materials.Fireclay, 2L * OrePrefixes.dust.mMaterialAmount), (int) (200L * OrePrefixes.dust.mMaterialAmount / 3628800L), 8); GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Nickel, 4L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Chrome, 1L), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Utility.getIntegratedCircuit(1), GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.getDust(Materials.Nichrome, 5L * OrePrefixes.dust.mMaterialAmount), (int) (500L * OrePrefixes.dust.mMaterialAmount / 3628800L), 480); - GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Osmium, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Iridium, 3L), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Utility.getIntegratedCircuit(1),GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.getDust(Materials.Osmiridium, 4L * OrePrefixes.dust.mMaterialAmount), (int) (400L * OrePrefixes.dust.mMaterialAmount / 3628800L), 2000); - GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Niobium, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Titanium, 1L), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Utility.getIntegratedCircuit(1),GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.getDust(Materials.NiobiumTitanium, 2L * OrePrefixes.dust.mMaterialAmount), (int) (200L * OrePrefixes.dust.mMaterialAmount / 3628800L), 2000); - GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Vanadium, 3L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Gallium, 1L), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Utility.getIntegratedCircuit(1),GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.getDust(Materials.VanadiumGallium, 4L * OrePrefixes.dust.mMaterialAmount), (int) (400L * OrePrefixes.dust.mMaterialAmount / 3628800L), 2000); - GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Tungsten, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Carbon, 1L), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Utility.getIntegratedCircuit(1),GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.getDust(Materials.TungstenCarbide, 2L * OrePrefixes.dust.mMaterialAmount), (int) (200L * OrePrefixes.dust.mMaterialAmount / 3628800L), 500); - GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Tungsten, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Steel, 1L), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Utility.getIntegratedCircuit(1),GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.getDust(Materials.TungstenSteel, 2L * OrePrefixes.dust.mMaterialAmount), (int) (200L * OrePrefixes.dust.mMaterialAmount / 3628800L), 500); - GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.TungstenSteel, 5L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Chrome, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Molybdenum, 2L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Vanadium, 1L), GT_Values.NI, GT_Utility.getIntegratedCircuit(1),GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.getDust(Materials.HSSG, 9L * OrePrefixes.dust.mMaterialAmount), (int) (600L * OrePrefixes.dust.mMaterialAmount / 3628800L), 1920); - GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.HSSG, 6L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Cobalt, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Manganese, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Silicon, 1L), GT_Values.NI, GT_Utility.getIntegratedCircuit(1),GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.getDust(Materials.HSSE, 9L * OrePrefixes.dust.mMaterialAmount), (int) (700L * OrePrefixes.dust.mMaterialAmount / 3628800L), 4096); - GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.HSSG, 6L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Iridium, 2L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Osmium, 1L), GT_Values.NI, GT_Values.NI, GT_Utility.getIntegratedCircuit(2),GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.getDust(Materials.HSSS, 9L * OrePrefixes.dust.mMaterialAmount), (int) (800L * OrePrefixes.dust.mMaterialAmount / 3628800L), 7680); + GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Osmium, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Iridium, 3L), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Utility.getIntegratedCircuit(1), GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.getDust(Materials.Osmiridium, 4L * OrePrefixes.dust.mMaterialAmount), (int) (400L * OrePrefixes.dust.mMaterialAmount / 3628800L), 2000); + GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Niobium, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Titanium, 1L), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Utility.getIntegratedCircuit(1), GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.getDust(Materials.NiobiumTitanium, 2L * OrePrefixes.dust.mMaterialAmount), (int) (200L * OrePrefixes.dust.mMaterialAmount / 3628800L), 2000); + GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Vanadium, 3L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Gallium, 1L), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Utility.getIntegratedCircuit(1), GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.getDust(Materials.VanadiumGallium, 4L * OrePrefixes.dust.mMaterialAmount), (int) (400L * OrePrefixes.dust.mMaterialAmount / 3628800L), 2000); + GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Tungsten, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Carbon, 1L), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Utility.getIntegratedCircuit(1), GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.getDust(Materials.TungstenCarbide, 2L * OrePrefixes.dust.mMaterialAmount), (int) (200L * OrePrefixes.dust.mMaterialAmount / 3628800L), 500); + GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Tungsten, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Steel, 1L), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Utility.getIntegratedCircuit(1), GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.getDust(Materials.TungstenSteel, 2L * OrePrefixes.dust.mMaterialAmount), (int) (200L * OrePrefixes.dust.mMaterialAmount / 3628800L), 500); + GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.TungstenSteel, 5L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Chrome, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Molybdenum, 2L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Vanadium, 1L), GT_Values.NI, GT_Utility.getIntegratedCircuit(1), GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.getDust(Materials.HSSG, 9L * OrePrefixes.dust.mMaterialAmount), (int) (600L * OrePrefixes.dust.mMaterialAmount / 3628800L), 1920); + GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.HSSG, 6L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Cobalt, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Manganese, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Silicon, 1L), GT_Values.NI, GT_Utility.getIntegratedCircuit(1), GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.getDust(Materials.HSSE, 9L * OrePrefixes.dust.mMaterialAmount), (int) (700L * OrePrefixes.dust.mMaterialAmount / 3628800L), 4096); + GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.HSSG, 6L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Iridium, 2L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Osmium, 1L), GT_Values.NI, GT_Values.NI, GT_Utility.getIntegratedCircuit(2), GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.getDust(Materials.HSSS, 9L * OrePrefixes.dust.mMaterialAmount), (int) (800L * OrePrefixes.dust.mMaterialAmount / 3628800L), 7680); GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Nickel, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Zinc, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Iron, 4L), GT_Values.NI, GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.getDust(Materials.FerriteMixture, 6L * OrePrefixes.dust.mMaterialAmount), (int) (200L * OrePrefixes.dust.mMaterialAmount / 3628800L), 8); GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Boron, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Glass, 7L), GT_Values.NI, GT_Values.NI, GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.getDust(Materials.BorosilicateGlass, 8L * OrePrefixes.dust.mMaterialAmount), (int) (200L * OrePrefixes.dust.mMaterialAmount / 3628800L), 8); @@ -140,10 +140,10 @@ public class GT_MachineRecipeLoader implements Runnable { GT_Values.RA.addMixerRecipe(GT_ModHandler.getModItem(GT_MachineRecipeLoader.aTextAE, GT_MachineRecipeLoader.aTextAEMM, 1L, 1), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Redstone, 1L), GT_OreDictUnificator.get(OrePrefixes.gem, Materials.NetherQuartz, 1L), GT_Values.NI, Materials.Water.getFluid(500L), GT_Values.NF, GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Fluix, 2L), 20, 16); GT_Values.RA.addMixerRecipe(GT_ModHandler.getModItem(GT_MachineRecipeLoader.aTextAE, GT_MachineRecipeLoader.aTextAEMM, 1L, 1), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Redstone, 1L), GT_OreDictUnificator.get(OrePrefixes.gem, Materials.NetherQuartz, 1L), GT_Values.NI, GT_ModHandler.getDistilledWater(500L), GT_Values.NF, GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Fluix, 2L), 20, 16); GT_Values.RA.addMixerRecipe(ItemList.IC2_Fertilizer.get(1L), new ItemStack(Blocks.dirt, 8, 32767), GT_Utility.getIntegratedCircuit(1), GT_Values.NI, Materials.Water.getFluid(1000L), GT_Values.NF, GT_ModHandler.getModItem(GT_MachineRecipeLoader.aTextForestry, "soil", 8L, 0), 64, 16); - GT_Values.RA.addMixerRecipe(ItemList.FR_Fertilizer.get(1L), new ItemStack(Blocks.dirt, 8, 32767), GT_Utility.getIntegratedCircuit(1), GT_Values.NI, Materials.Water.getFluid(1000L), GT_Values.NF, GT_ModHandler.getModItem(GT_MachineRecipeLoader.aTextForestry, "soil", 8L, 0), 64, 16); - GT_Values.RA.addMixerRecipe(ItemList.FR_Compost.get(1L), new ItemStack(Blocks.dirt, 8, 32767), GT_Utility.getIntegratedCircuit(1), GT_Values.NI, Materials.Water.getFluid(1000L), GT_Values.NF, GT_ModHandler.getModItem(GT_MachineRecipeLoader.aTextForestry, "soil", 8L, 0), 64, 16); - GT_Values.RA.addMixerRecipe(ItemList.FR_Mulch.get(8L), new ItemStack(Blocks.dirt, 8, 32767), GT_Utility.getIntegratedCircuit(1), GT_Values.NI, Materials.Water.getFluid(1000L), GT_Values.NF, GT_ModHandler.getModItem(GT_MachineRecipeLoader.aTextForestry, "soil", 8L, 0), 64, 16); - GT_Values.RA.addMixerRecipe(new ItemStack(Blocks.sand, 1, 32767), new ItemStack(Blocks.dirt, 1, 32767), GT_Utility.getIntegratedCircuit(1), GT_Values.NI, Materials.Water.getFluid(250L), GT_Values.NF, GT_ModHandler.getModItem(GT_MachineRecipeLoader.aTextForestry, "soil", 2L, 1), 16, 16); + GT_Values.RA.addMixerRecipe(ItemList.FR_Fertilizer.get(1L), new ItemStack(Blocks.dirt, 8, 32767), GT_Utility.getIntegratedCircuit(1), GT_Values.NI, Materials.Water.getFluid(1000L), GT_Values.NF, GT_ModHandler.getModItem(GT_MachineRecipeLoader.aTextForestry, "soil", 8L, 0), 64, 16); + GT_Values.RA.addMixerRecipe(ItemList.FR_Compost.get(1L), new ItemStack(Blocks.dirt, 8, 32767), GT_Utility.getIntegratedCircuit(1), GT_Values.NI, Materials.Water.getFluid(1000L), GT_Values.NF, GT_ModHandler.getModItem(GT_MachineRecipeLoader.aTextForestry, "soil", 8L, 0), 64, 16); + GT_Values.RA.addMixerRecipe(ItemList.FR_Mulch.get(8L), new ItemStack(Blocks.dirt, 8, 32767), GT_Utility.getIntegratedCircuit(1), GT_Values.NI, Materials.Water.getFluid(1000L), GT_Values.NF, GT_ModHandler.getModItem(GT_MachineRecipeLoader.aTextForestry, "soil", 8L, 0), 64, 16); + GT_Values.RA.addMixerRecipe(new ItemStack(Blocks.sand, 1, 32767), new ItemStack(Blocks.dirt, 1, 32767), GT_Utility.getIntegratedCircuit(1), GT_Values.NI, Materials.Water.getFluid(250L), GT_Values.NF, GT_ModHandler.getModItem(GT_MachineRecipeLoader.aTextForestry, "soil", 2L, 1), 16, 16); GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.LightFuel, 5L), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.HeavyFuel, 1L), GT_Values.NI, GT_Values.NI, GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Fuel, 6L), 16, 120); GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.LightFuel, 5L), Materials.Empty.getCells(1), GT_Values.NI, GT_Utility.getIntegratedCircuit(1), Materials.HeavyFuel.getFluid(1000L), GT_Values.NF, GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Fuel, 6L), 16, 120); GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.HeavyFuel, 1L), Materials.Empty.getCells(5), GT_Values.NI, GT_Utility.getIntegratedCircuit(1), Materials.LightFuel.getFluid(5000L), GT_Values.NF, GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Fuel, 6L), 16, 120); @@ -160,14 +160,14 @@ public class GT_MachineRecipeLoader implements Runnable { GT_Values.RA.addMixerRecipe(ItemList.SFMixture.get(2), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.EnderEye, 1L), null, null, Materials.Mercury.getFluid(1000), null, ItemList.MSFMixture.get(4), 300, 64); GT_Values.RA.addMixerRecipe(ItemList.SFMixture.get(1), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Blaze, 1L), null, null, Materials.Mercury.getFluid(500), null, ItemList.MSFMixture.get(1), 300, 64); - GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.block,Materials.Lignite,4), ItemList.MSFMixture.get(24), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Diamond, 1L), GT_Values.NI, GT_Values.NI, GT_Utility.getIntegratedCircuit(1), Materials.NitroFuel.getFluid(4000), null, ItemList.Block_MSSFUEL.get(4), 400, 600); - GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.block,Materials.Charcoal,4), ItemList.MSFMixture.get(16), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Diamond, 1L), GT_Values.NI, GT_Values.NI, GT_Utility.getIntegratedCircuit(1), Materials.NitroFuel.getFluid(3000), null, ItemList.Block_MSSFUEL.get(4), 300, 600); - GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.block,Materials.Coal,4), ItemList.MSFMixture.get(8), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Diamond, 1L), GT_Values.NI, GT_Values.NI, GT_Utility.getIntegratedCircuit(1), Materials.NitroFuel.getFluid(2000), null, ItemList.Block_MSSFUEL.get(4), 200, 600); - GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.block,Materials.Lignite,4), ItemList.MSFMixture.get(24), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Diamond, 1L), GT_Values.NI, GT_Values.NI, GT_Utility.getIntegratedCircuit(1), Materials.GasolinePremium.getFluid(1600), null, ItemList.Block_MSSFUEL.get(4), 400, 600); - GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.block,Materials.Charcoal,4), ItemList.MSFMixture.get(16), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Diamond, 1L), GT_Values.NI, GT_Values.NI, GT_Utility.getIntegratedCircuit(1), Materials.GasolinePremium.getFluid(1200), null, ItemList.Block_MSSFUEL.get(4), 300, 600); - GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.block,Materials.Coal,4), ItemList.MSFMixture.get(8), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Diamond, 1L), GT_Values.NI, GT_Values.NI, GT_Utility.getIntegratedCircuit(1), Materials.GasolinePremium.getFluid(800), null, ItemList.Block_MSSFUEL.get(4), 200, 600); + GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.block, Materials.Lignite, 4), ItemList.MSFMixture.get(24), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Diamond, 1L), GT_Values.NI, GT_Values.NI, GT_Utility.getIntegratedCircuit(1), Materials.NitroFuel.getFluid(4000), null, ItemList.Block_MSSFUEL.get(4), 400, 600); + GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.block, Materials.Charcoal, 4), ItemList.MSFMixture.get(16), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Diamond, 1L), GT_Values.NI, GT_Values.NI, GT_Utility.getIntegratedCircuit(1), Materials.NitroFuel.getFluid(3000), null, ItemList.Block_MSSFUEL.get(4), 300, 600); + GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.block, Materials.Coal, 4), ItemList.MSFMixture.get(8), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Diamond, 1L), GT_Values.NI, GT_Values.NI, GT_Utility.getIntegratedCircuit(1), Materials.NitroFuel.getFluid(2000), null, ItemList.Block_MSSFUEL.get(4), 200, 600); + GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.block, Materials.Lignite, 4), ItemList.MSFMixture.get(24), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Diamond, 1L), GT_Values.NI, GT_Values.NI, GT_Utility.getIntegratedCircuit(1), Materials.GasolinePremium.getFluid(1600), null, ItemList.Block_MSSFUEL.get(4), 400, 600); + GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.block, Materials.Charcoal, 4), ItemList.MSFMixture.get(16), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Diamond, 1L), GT_Values.NI, GT_Values.NI, GT_Utility.getIntegratedCircuit(1), Materials.GasolinePremium.getFluid(1200), null, ItemList.Block_MSSFUEL.get(4), 300, 600); + GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.block, Materials.Coal, 4), ItemList.MSFMixture.get(8), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Diamond, 1L), GT_Values.NI, GT_Values.NI, GT_Utility.getIntegratedCircuit(1), Materials.GasolinePremium.getFluid(800), null, ItemList.Block_MSSFUEL.get(4), 200, 600); - if(Loader.isModLoaded("Thaumcraft")){ + if (Loader.isModLoaded("Thaumcraft")) { GT_Values.RA.addMixerRecipe(ItemList.SFMixture.get(20), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.InfusedAir, 1L), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Utility.getIntegratedCircuit(1), Materials.FierySteel.getFluid(50), null, ItemList.MSFMixture.get(20), 200, 64); GT_Values.RA.addMixerRecipe(ItemList.SFMixture.get(20), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.InfusedEarth, 1L), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Utility.getIntegratedCircuit(1), Materials.FierySteel.getFluid(50), null, ItemList.MSFMixture.get(20), 200, 64); GT_Values.RA.addMixerRecipe(ItemList.SFMixture.get(20), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.InfusedEntropy, 1L), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Utility.getIntegratedCircuit(1), Materials.FierySteel.getFluid(50), null, ItemList.MSFMixture.get(20), 200, 64); @@ -184,22 +184,22 @@ public class GT_MachineRecipeLoader implements Runnable { GT_Values.RA.addMixerRecipe(ItemList.SFMixture.get(30), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.InfusedOrder, 1L), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Utility.getIntegratedCircuit(1), tFD, null, ItemList.MSFMixture.get(30), 200, 64); GT_Values.RA.addMixerRecipe(ItemList.SFMixture.get(30), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.InfusedWater, 1L), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Utility.getIntegratedCircuit(1), tFD, null, ItemList.MSFMixture.get(30), 200, 64); - GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.block,Materials.Lignite,1), ItemList.MSFMixture.get(6), GT_ModHandler.getModItem("Thaumcraft", "ItemResource", 4), GT_Values.NI, GT_Values.NI, GT_Utility.getIntegratedCircuit(1), Materials.NitroFuel.getFluid(1000), null, ItemList.Block_MSSFUEL.get(1), 140, 600); - GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.block,Materials.Charcoal,1), ItemList.MSFMixture.get(4), GT_ModHandler.getModItem("Thaumcraft", "ItemResource", 4), GT_Values.NI, GT_Values.NI, GT_Utility.getIntegratedCircuit(1), Materials.NitroFuel.getFluid(750), null, ItemList.Block_MSSFUEL.get(1), 120, 600); - GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.block,Materials.Coal,1), ItemList.MSFMixture.get(2), GT_ModHandler.getModItem("Thaumcraft", "ItemResource", 4), GT_Values.NI, GT_Values.NI, GT_Utility.getIntegratedCircuit(1), Materials.NitroFuel.getFluid(500), null, ItemList.Block_MSSFUEL.get(1), 100, 600); - GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.block,Materials.Lignite,1), ItemList.MSFMixture.get(6), GT_ModHandler.getModItem("Thaumcraft", "ItemResource", 4), GT_Values.NI, GT_Values.NI, GT_Utility.getIntegratedCircuit(1), Materials.GasolinePremium.getFluid(400), null, ItemList.Block_MSSFUEL.get(1), 140, 600); - GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.block,Materials.Charcoal,1), ItemList.MSFMixture.get(4), GT_ModHandler.getModItem("Thaumcraft", "ItemResource", 4), GT_Values.NI, GT_Values.NI, GT_Utility.getIntegratedCircuit(1), Materials.GasolinePremium.getFluid(300), null, ItemList.Block_MSSFUEL.get(1), 120, 600); - GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.block,Materials.Coal,1), ItemList.MSFMixture.get(2), GT_ModHandler.getModItem("Thaumcraft", "ItemResource", 4), GT_Values.NI, GT_Values.NI, GT_Utility.getIntegratedCircuit(1), Materials.GasolinePremium.getFluid(200), null, ItemList.Block_MSSFUEL.get(1), 100, 600); + GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.block, Materials.Lignite, 1), ItemList.MSFMixture.get(6), GT_ModHandler.getModItem("Thaumcraft", "ItemResource", 4), GT_Values.NI, GT_Values.NI, GT_Utility.getIntegratedCircuit(1), Materials.NitroFuel.getFluid(1000), null, ItemList.Block_MSSFUEL.get(1), 140, 600); + GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.block, Materials.Charcoal, 1), ItemList.MSFMixture.get(4), GT_ModHandler.getModItem("Thaumcraft", "ItemResource", 4), GT_Values.NI, GT_Values.NI, GT_Utility.getIntegratedCircuit(1), Materials.NitroFuel.getFluid(750), null, ItemList.Block_MSSFUEL.get(1), 120, 600); + GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.block, Materials.Coal, 1), ItemList.MSFMixture.get(2), GT_ModHandler.getModItem("Thaumcraft", "ItemResource", 4), GT_Values.NI, GT_Values.NI, GT_Utility.getIntegratedCircuit(1), Materials.NitroFuel.getFluid(500), null, ItemList.Block_MSSFUEL.get(1), 100, 600); + GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.block, Materials.Lignite, 1), ItemList.MSFMixture.get(6), GT_ModHandler.getModItem("Thaumcraft", "ItemResource", 4), GT_Values.NI, GT_Values.NI, GT_Utility.getIntegratedCircuit(1), Materials.GasolinePremium.getFluid(400), null, ItemList.Block_MSSFUEL.get(1), 140, 600); + GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.block, Materials.Charcoal, 1), ItemList.MSFMixture.get(4), GT_ModHandler.getModItem("Thaumcraft", "ItemResource", 4), GT_Values.NI, GT_Values.NI, GT_Utility.getIntegratedCircuit(1), Materials.GasolinePremium.getFluid(300), null, ItemList.Block_MSSFUEL.get(1), 120, 600); + GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.block, Materials.Coal, 1), ItemList.MSFMixture.get(2), GT_ModHandler.getModItem("Thaumcraft", "ItemResource", 4), GT_Values.NI, GT_Values.NI, GT_Utility.getIntegratedCircuit(1), Materials.GasolinePremium.getFluid(200), null, ItemList.Block_MSSFUEL.get(1), 100, 600); } } - GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.block,Materials.Lignite,1), ItemList.SFMixture.get(6), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Utility.getIntegratedCircuit(1), Materials.NitroFuel.getFluid(1000), null, ItemList.Block_SSFUEL.get(1), 140, 250); - GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.block,Materials.Charcoal,1), ItemList.SFMixture.get(4), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Utility.getIntegratedCircuit(1), Materials.NitroFuel.getFluid(750), null, ItemList.Block_SSFUEL.get(1), 120, 250); - GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.block,Materials.Coal,1), ItemList.SFMixture.get(2), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Utility.getIntegratedCircuit(1), Materials.NitroFuel.getFluid(500), null, ItemList.Block_SSFUEL.get(1), 100, 250); - GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.block,Materials.Lignite,1), ItemList.SFMixture.get(6), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Utility.getIntegratedCircuit(1), Materials.GasolinePremium.getFluid(400), null, ItemList.Block_SSFUEL.get(1), 140, 250); - GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.block,Materials.Charcoal,1), ItemList.SFMixture.get(4), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Utility.getIntegratedCircuit(1), Materials.GasolinePremium.getFluid(300), null, ItemList.Block_SSFUEL.get(1), 120, 250); - GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.block,Materials.Coal,1), ItemList.SFMixture.get(2), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Utility.getIntegratedCircuit(1), Materials.GasolinePremium.getFluid(200), null, ItemList.Block_SSFUEL.get(1), 100, 250); + GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.block, Materials.Lignite, 1), ItemList.SFMixture.get(6), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Utility.getIntegratedCircuit(1), Materials.NitroFuel.getFluid(1000), null, ItemList.Block_SSFUEL.get(1), 140, 250); + GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.block, Materials.Charcoal, 1), ItemList.SFMixture.get(4), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Utility.getIntegratedCircuit(1), Materials.NitroFuel.getFluid(750), null, ItemList.Block_SSFUEL.get(1), 120, 250); + GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.block, Materials.Coal, 1), ItemList.SFMixture.get(2), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Utility.getIntegratedCircuit(1), Materials.NitroFuel.getFluid(500), null, ItemList.Block_SSFUEL.get(1), 100, 250); + GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.block, Materials.Lignite, 1), ItemList.SFMixture.get(6), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Utility.getIntegratedCircuit(1), Materials.GasolinePremium.getFluid(400), null, ItemList.Block_SSFUEL.get(1), 140, 250); + GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.block, Materials.Charcoal, 1), ItemList.SFMixture.get(4), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Utility.getIntegratedCircuit(1), Materials.GasolinePremium.getFluid(300), null, ItemList.Block_SSFUEL.get(1), 120, 250); + GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.block, Materials.Coal, 1), ItemList.SFMixture.get(2), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Utility.getIntegratedCircuit(1), Materials.GasolinePremium.getFluid(200), null, ItemList.Block_SSFUEL.get(1), 100, 250); GT_Values.RA.addExtruderRecipe(ItemList.FR_Wax.get(1L), ItemList.Shape_Extruder_Cell.get(0L), ItemList.FR_WaxCapsule.get(1L), 64, 16); GT_Values.RA.addExtruderRecipe(ItemList.FR_RefractoryWax.get(1L), ItemList.Shape_Extruder_Cell.get(0L), ItemList.FR_RefractoryCapsule.get(1L), 128, 16); @@ -381,9 +381,9 @@ public class GT_MachineRecipeLoader implements Runnable { GT_Values.RA.addFluidExtractionRecipe(GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Mercury, 1L), GT_Values.NI, Materials.Mercury.getFluid(1000L), 10000, 128, 4); GT_Values.RA.addFluidExtractionRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Monazite, 1L), GT_Values.NI, Materials.Helium.getGas(200L), 10000, 64, 64); - GT_Values.RA.addFluidExtractionRecipe(GT_ModHandler.getModItem("IC2","blockAlloyGlass", 1L, 0), GT_Values.NI, Materials.ReinforceGlass.getFluid(144), 10000, 100, 1920); - GT_Values.RA.addFluidExtractionRecipe(GT_ModHandler.getModItem(MOD_ID_DC,"item.ReinforcedGlassPLate", 2L, 0), GT_Values.NI, Materials.ReinforceGlass.getFluid(144), 10000, 75, 1920); - GT_Values.RA.addFluidExtractionRecipe(GT_ModHandler.getModItem(MOD_ID_DC,"item.ReinforcedGlassLense", 2L, 0), GT_Values.NI, Materials.ReinforceGlass.getFluid(144), 10000, 50, 1920); + GT_Values.RA.addFluidExtractionRecipe(GT_ModHandler.getModItem("IC2", "blockAlloyGlass", 1L, 0), GT_Values.NI, Materials.ReinforceGlass.getFluid(144), 10000, 100, 1920); + GT_Values.RA.addFluidExtractionRecipe(GT_ModHandler.getModItem(MOD_ID_DC, "item.ReinforcedGlassPLate", 2L, 0), GT_Values.NI, Materials.ReinforceGlass.getFluid(144), 10000, 75, 1920); + GT_Values.RA.addFluidExtractionRecipe(GT_ModHandler.getModItem(MOD_ID_DC, "item.ReinforcedGlassLense", 2L, 0), GT_Values.NI, Materials.ReinforceGlass.getFluid(144), 10000, 50, 1920); GT_Values.RA.addFluidSmelterRecipe(new ItemStack(Items.snowball, 1, 0), GT_Values.NI, Materials.Water.getFluid(250L), 10000, 32, 4); GT_Values.RA.addFluidSmelterRecipe(new ItemStack(Blocks.snow, 1, 0), GT_Values.NI, Materials.Water.getFluid(1000L), 10000, 128, 4); @@ -409,19 +409,19 @@ public class GT_MachineRecipeLoader implements Runnable { GT_Values.RA.addAutoclave4Recipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Silicon, 1), GT_Utility.getIntegratedCircuit(1), Materials.Water.getFluid(1000L), GT_Values.NF, new ItemStack[]{GT_Values.NI, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.SiliconDioxide, 1)}, new int[]{0, 7500}, 1200, 30, false); GT_Values.RA.addAutoclave4Recipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Silicon, 1), GT_Utility.getIntegratedCircuit(1), GT_ModHandler.getDistilledWater(500L), GT_Values.NF, new ItemStack[]{GT_Values.NI, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.SiliconDioxide, 1)}, new int[]{0, 9000}, 1200, 30, false); - GT_Values.RA.addSimpleArcFurnaceRecipe(GT_OreDictUnificator.get(OrePrefixes.dust,Materials.Silicon, 1L), Materials.Oxygen.getGas(288L), new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.dust,Materials.SiliconDioxide,1)}, null, 1200,30); + GT_Values.RA.addSimpleArcFurnaceRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Silicon, 1L), Materials.Oxygen.getGas(288L), new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.dust, Materials.SiliconDioxide, 1)}, null, 1200, 30); - GT_Values.RA.addAssemblerRecipe(GT_OreDictUnificator.get(OrePrefixes.foil, Materials.PolyvinylChloride,1),ItemList.Paper_Printed_Pages.get(1L),Materials.Glue.getFluid(20L), new ItemStack(Items.written_book,1,0), 32, 8); - GT_Values.RA.addAssemblerRecipe(GT_OreDictUnificator.get(OrePrefixes.foil, Materials.PolyvinylChloride,1), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Paper, 3), Materials.Glue.getFluid(20L), new ItemStack(Items.book,1,0),20,16); - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{GT_ModHandler.getIC2Item("carbonMesh", 4L), GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Zinc, 16L), GT_Utility.getIntegratedCircuit(1)}, GT_Values.NF, ItemList.Component_Filter.get(1L), 1600, 30); - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Steel, 64), GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Zinc, 16L), GT_Utility.getIntegratedCircuit(1)}, Materials.Plastic.getFluid(144), ItemList.Component_Filter.get(1), 1600, 16); + GT_Values.RA.addAssemblerRecipe(GT_OreDictUnificator.get(OrePrefixes.foil, Materials.PolyvinylChloride, 1), ItemList.Paper_Printed_Pages.get(1L), Materials.Glue.getFluid(20L), new ItemStack(Items.written_book, 1, 0), 32, 8); + GT_Values.RA.addAssemblerRecipe(GT_OreDictUnificator.get(OrePrefixes.foil, Materials.PolyvinylChloride, 1), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Paper, 3), Materials.Glue.getFluid(20L), new ItemStack(Items.book, 1, 0), 20, 16); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{GT_ModHandler.getIC2Item("carbonMesh", 4L), GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Zinc, 16L), GT_Utility.getIntegratedCircuit(1)}, GT_Values.NF, ItemList.Component_Filter.get(1L), 1600, 30); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Steel, 64), GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Zinc, 16L), GT_Utility.getIntegratedCircuit(1)}, Materials.Plastic.getFluid(144), ItemList.Component_Filter.get(1), 1600, 16); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Graphite, 64), ItemList.Circuit_Silicon_Wafer2.get(32L), GT_Utility.getIntegratedCircuit(1)}, Materials.Glue.getFluid(1500L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Graphene, 64), 3200, 1920); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Graphite, 64), ItemList.Circuit_Silicon_Wafer2.get(32L), GT_Utility.getIntegratedCircuit(1)}, Materials.AdvancedGlue.getFluid(500L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Graphene, 64), 3200, 1920); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Graphite, 64), ItemList.Circuit_Silicon_Wafer3.get(8L), GT_Utility.getIntegratedCircuit(1)}, Materials.Glue.getFluid(1000L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Graphene, 64), 800, 7920); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Graphite, 64), ItemList.Circuit_Silicon_Wafer3.get(8L), GT_Utility.getIntegratedCircuit(1)}, Materials.AdvancedGlue.getFluid(300L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Graphene, 64), 800, 7920); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Graphite, 64), ItemList.Circuit_Silicon_Wafer4.get(2L), GT_Utility.getIntegratedCircuit(1)}, Materials.Glue.getFluid(500L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Graphene, 64), 400, 30720); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Graphite, 64), ItemList.Circuit_Silicon_Wafer5.get(1L), GT_Utility.getIntegratedCircuit(1)}, Materials.Glue.getFluid(250L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Graphene, 64), 80, 122880); - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Electric_Pump_LV.get(1L), GT_OreDictUnificator.get(OrePrefixes.circuit.get(Materials.Basic), 2L), GT_Utility.getIntegratedCircuit(1)}, GT_Values.NF, ItemList.FluidRegulator_LV.get(1L), 400, 30); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Electric_Pump_LV.get(1L), GT_OreDictUnificator.get(OrePrefixes.circuit.get(Materials.Basic), 2L), GT_Utility.getIntegratedCircuit(1)}, GT_Values.NF, ItemList.FluidRegulator_LV.get(1L), 400, 30); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Electric_Pump_MV.get(1L), GT_OreDictUnificator.get(OrePrefixes.circuit.get(Materials.Good), 2L), GT_Utility.getIntegratedCircuit(1)}, GT_Values.NF, ItemList.FluidRegulator_MV.get(1L), 350, 120); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Electric_Pump_HV.get(1L), GT_OreDictUnificator.get(OrePrefixes.circuit.get(Materials.Advanced), 2L), GT_Utility.getIntegratedCircuit(1)}, GT_Values.NF, ItemList.FluidRegulator_HV.get(1L), 300, 480); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Electric_Pump_EV.get(1L), GT_OreDictUnificator.get(OrePrefixes.circuit.get(Materials.Data), 2L), GT_Utility.getIntegratedCircuit(1)}, GT_Values.NF, ItemList.FluidRegulator_EV.get(1L), 250, 1920); @@ -539,14 +539,13 @@ public class GT_MachineRecipeLoader implements Runnable { GT_Values.RA.addMultiblockChemicalRecipe(new ItemStack[]{GT_Utility.getIntegratedCircuit(9), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, Materials.Chalcopyrite, 9)}, new FluidStack[]{Materials.NitricAcid.getFluid(9000L)}, new FluidStack[]{new FluidStack(ItemList.sBlueVitriol, 18000)}, new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.dust, Materials.PlatinumGroupSludge, 1)}, 25, 480); - GT_Values.RA.addElectrolyzerRecipe(ItemList.Cell_Empty.get(1), null, new FluidStack(ItemList.sBlueVitriol, 2000), Materials.SulfuricAcid.getFluid(1000), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Copper, 1), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Oxygen, 1), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, null, 900, 30); GT_Values.RA.addElectrolyzerRecipe(ItemList.Cell_Empty.get(1), null, new FluidStack(ItemList.sNickelSulfate, 2000), Materials.SulfuricAcid.getFluid(1000), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Nickel, 1), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Oxygen, 1), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, null, 900, 30); GT_Values.RA.addCentrifugeRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.PlatinumGroupSludge, 9), null, null, null, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.SiliconDioxide, 9), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Gold, 9), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Platinum, 9), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Palladium, 3), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Iridium, 3), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Osmium, 3), new int[]{10000, 10000, 10000, 9500, 9000, 8500}, 8100, 30); GT_Values.RA.addElectrolyzerRecipe(ItemList.Cell_Empty.get(11), GT_Utility.getIntegratedCircuit(1), Materials.Glycerol.getFluid(14000), GT_Values.NF, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Carbon, 3), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Hydrogen, 8), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Oxygen, 3), GT_Values.NI, GT_Values.NI, GT_Values.NI, null, 300, 90); - GT_Values.RA.addChemicalRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Iron, 1), ItemList.Cell_Empty.get(3), Materials.HydrochloricAcid.getFluid(3000), Materials.IronIIIChloride.getFluid(1000),GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Hydrogen, 3), 400, 30); + GT_Values.RA.addChemicalRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Iron, 1), ItemList.Cell_Empty.get(3), Materials.HydrochloricAcid.getFluid(3000), Materials.IronIIIChloride.getFluid(1000), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Hydrogen, 3), 400, 30); GT_Values.RA.addChemicalRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.InfusedGold, 8L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Iron, 8L), new FluidStack(FluidRegistry.getFluid("ic2coolant"), 1000), GT_Values.NF, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Thaumium, 16L), 400, 480); @@ -559,11 +558,11 @@ public class GT_MachineRecipeLoader implements Runnable { GT_Values.RA.addFluidSolidifierRecipe(ItemList.Shape_Mold_Cylinder.get(0), Materials.Polystyrene.getMolten(36), ItemList.Circuit_Parts_PetriDish.get(1), 160, 16); GT_Values.RA.addFluidSolidifierRecipe(ItemList.Shape_Mold_Cylinder.get(0), Materials.BorosilicateGlass.getMolten(72), ItemList.Circuit_Parts_PetriDish.get(1), 160, 16); - GT_Values.RA.addFluidSolidifierRecipe(ItemList.Shape_Mold_Plate.get(0L), Materials.ReinforceGlass.getMolten(72), GT_ModHandler.getModItem(MOD_ID_DC, "item.ReinforcedGlassPLate", 1L, 0),160, 1920); + GT_Values.RA.addFluidSolidifierRecipe(ItemList.Shape_Mold_Plate.get(0L), Materials.ReinforceGlass.getMolten(72), GT_ModHandler.getModItem(MOD_ID_DC, "item.ReinforcedGlassPLate", 1L, 0), 160, 1920); GT_Values.RA.addFluidSolidifierRecipe(ItemList.Shape_Mold_Block.get(0L), Materials.ReinforceGlass.getMolten(144), GT_ModHandler.getModItem("IC2", "blockAlloyGlass", 1L), 160, 1920); - GT_Values.RA.addChemicalRecipe(GT_ModHandler.getModItem("GalaxySpace","item.UnknowCrystal",4L), Materials.Osmiridium.getDust(2), Materials.GrowthMediumSterilized.getFluid(1000L), FluidRegistry.getFluidStack("bacterialsludge", 1000), ItemList.Circuit_Chip_Stemcell.get(64L), GT_Values.NI,600, 30720); - GT_Values.RA.addChemicalRecipe(ItemList.Circuit_Chip_Stemcell.get(32L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.CosmicNeutronium, 4), Materials.BioMediumSterilized.getFluid(2000L), FluidRegistry.getFluidStack("mutagen", 2000), ItemList.Circuit_Chip_Biocell.get(32L), GT_Values.NI,1200, 500000); + GT_Values.RA.addChemicalRecipe(GT_ModHandler.getModItem("GalaxySpace", "item.UnknowCrystal", 4L), Materials.Osmiridium.getDust(2), Materials.GrowthMediumSterilized.getFluid(1000L), FluidRegistry.getFluidStack("bacterialsludge", 1000), ItemList.Circuit_Chip_Stemcell.get(64L), GT_Values.NI, 600, 30720); + GT_Values.RA.addChemicalRecipe(ItemList.Circuit_Chip_Stemcell.get(32L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.CosmicNeutronium, 4), Materials.BioMediumSterilized.getFluid(2000L), FluidRegistry.getFluidStack("mutagen", 2000), ItemList.Circuit_Chip_Biocell.get(32L), GT_Values.NI, 1200, 500000); GT_Values.RA.addFluidHeaterRecipe(GT_Utility.getIntegratedCircuit(1), Materials.GrowthMediumRaw.getFluid(1000L), Materials.GrowthMediumSterilized.getFluid(1000L), 200, 7680); GT_Values.RA.addFluidHeaterRecipe(GT_Utility.getIntegratedCircuit(1), Materials.BioMediumRaw.getFluid(1000L), Materials.BioMediumSterilized.getFluid(1000L), 200, 30720); @@ -587,10 +586,10 @@ public class GT_MachineRecipeLoader implements Runnable { for (Materials tMat : Materials.values()) { if (tMat.isProperSolderingFluid()) { int tMultiplier = tMat.contains(SubTag.SOLDERING_MATERIAL_GOOD) ? 1 : tMat.contains(SubTag.SOLDERING_MATERIAL_BAD) ? 4 : 2; - GT_Values.RA.addCircuitAssemblerRecipe(new ItemStack[]{ItemList.Circuit_Board_Coated_Basic.get(1L), GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Primitive, 2), GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Iron, 2), GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Iron, 4), GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Iron, 1),GT_Utility.getIntegratedCircuit(1)}, tMat.getMolten(1152L * tMultiplier / 2L), GT_ModHandler.getModItem("Forestry", "chipsets", 1L, 0), 200, 30); - GT_Values.RA.addCircuitAssemblerRecipe(new ItemStack[]{ItemList.Circuit_Board_Coated_Basic.get(1L), GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Basic, 2), GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Bronze, 2), GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Bronze, 4), GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Bronze, 1),GT_Utility.getIntegratedCircuit(1)}, tMat.getMolten(1152L * tMultiplier / 2L), GT_ModHandler.getModItem("Forestry", "chipsets", 1L, 1), 200, 30); - GT_Values.RA.addCircuitAssemblerRecipe(new ItemStack[]{ItemList.Circuit_Board_Phenolic_Good.get(1L), GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Good, 2), GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Steel, 2), GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Steel, 4), GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Steel, 1),GT_Utility.getIntegratedCircuit(1)}, tMat.getMolten(1152L * tMultiplier / 2L), GT_ModHandler.getModItem("Forestry", "chipsets", 1L, 2), 200, 30); - GT_Values.RA.addCircuitAssemblerRecipe(new ItemStack[]{ItemList.Circuit_Board_Phenolic_Good.get(1L), GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Advanced, 2), GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Electrum, 2), GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Electrum, 4), GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Electrum, 1),GT_Utility.getIntegratedCircuit(1)}, tMat.getMolten(1152L * tMultiplier / 2L), GT_ModHandler.getModItem("Forestry", "chipsets", 1L, 3), 200, 30); + GT_Values.RA.addCircuitAssemblerRecipe(new ItemStack[]{ItemList.Circuit_Board_Coated_Basic.get(1L), GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Primitive, 2), GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Iron, 2), GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Iron, 4), GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Iron, 1), GT_Utility.getIntegratedCircuit(1)}, tMat.getMolten(1152L * tMultiplier / 2L), GT_ModHandler.getModItem("Forestry", "chipsets", 1L, 0), 200, 30); + GT_Values.RA.addCircuitAssemblerRecipe(new ItemStack[]{ItemList.Circuit_Board_Coated_Basic.get(1L), GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Basic, 2), GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Bronze, 2), GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Bronze, 4), GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Bronze, 1), GT_Utility.getIntegratedCircuit(1)}, tMat.getMolten(1152L * tMultiplier / 2L), GT_ModHandler.getModItem("Forestry", "chipsets", 1L, 1), 200, 30); + GT_Values.RA.addCircuitAssemblerRecipe(new ItemStack[]{ItemList.Circuit_Board_Phenolic_Good.get(1L), GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Good, 2), GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Steel, 2), GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Steel, 4), GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Steel, 1), GT_Utility.getIntegratedCircuit(1)}, tMat.getMolten(1152L * tMultiplier / 2L), GT_ModHandler.getModItem("Forestry", "chipsets", 1L, 2), 200, 30); + GT_Values.RA.addCircuitAssemblerRecipe(new ItemStack[]{ItemList.Circuit_Board_Phenolic_Good.get(1L), GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Advanced, 2), GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Electrum, 2), GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Electrum, 4), GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Electrum, 1), GT_Utility.getIntegratedCircuit(1)}, tMat.getMolten(1152L * tMultiplier / 2L), GT_ModHandler.getModItem("Forestry", "chipsets", 1L, 3), 200, 30); // Circuit soldering // Integraded Circuits @@ -606,193 +605,85 @@ public class GT_MachineRecipeLoader implements Runnable { GT_Values.RA.addBlastRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.SiliconSG, 32), ItemList.GalliumArsenideCrystalSmallPart.get(1L), GT_Utility.getIntegratedCircuit(2), GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.Circuit_Silicon_Ingot.get(1), GT_Values.NI, GT_Values.NI, GT_Values.NI, 9000, 120, 1784); GT_Values.RA.addCutterRecipe(new ItemStack[]{ItemList.Circuit_Silicon_Ingot.get(1)}, new ItemStack[]{ItemList.Circuit_Silicon_Wafer.get(16), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.SiliconSG, 4L)}, 400, 30, false); GT_Values.RA.addBlastRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.SiliconSG, 64), ItemList.GalliumArsenideCrystalSmallPart.get(2L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Phosphorus, 8), GT_Utility.getIntegratedCircuit(3), Materials.Nitrogen.getGas(8000), GT_Values.NF, ItemList.Circuit_Silicon_Ingot2.get(1), GT_Values.NI, GT_Values.NI, GT_Values.NI, 12000, 480, 2484); - GT_Values.RA.addCutterRecipe(new ItemStack[]{ItemList.Circuit_Silicon_Ingot2.get(1)}, new ItemStack[]{ ItemList.Circuit_Silicon_Wafer2.get(32), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.SiliconSG, 8L)}, 800, 120, true); + GT_Values.RA.addCutterRecipe(new ItemStack[]{ItemList.Circuit_Silicon_Ingot2.get(1)}, new ItemStack[]{ItemList.Circuit_Silicon_Wafer2.get(32), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.SiliconSG, 8L)}, 800, 120, true); GT_Values.RA.addBlastRecipe(GT_OreDictUnificator.get(OrePrefixes.block, Materials.SiliconSG, 16), ItemList.GalliumArsenideCrystal.get(1L), GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Naquadah, 1), GT_Utility.getIntegratedCircuit(3), Materials.Argon.getGas(8000), GT_Values.NF, ItemList.Circuit_Silicon_Ingot3.get(1), GT_Values.NI, GT_Values.NI, GT_Values.NI, 15000, 1920, 4484); - GT_Values.RA.addCutterRecipe(new ItemStack[]{ItemList.Circuit_Silicon_Ingot3.get(1)}, new ItemStack[]{ ItemList.Circuit_Silicon_Wafer3.get(64), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.SiliconSG, 16L)}, 1600, 480, true); + GT_Values.RA.addCutterRecipe(new ItemStack[]{ItemList.Circuit_Silicon_Ingot3.get(1)}, new ItemStack[]{ItemList.Circuit_Silicon_Wafer3.get(64), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.SiliconSG, 16L)}, 1600, 480, true); GT_Values.RA.addBlastRecipe(GT_OreDictUnificator.get(OrePrefixes.block, Materials.SiliconSG, 32), ItemList.GalliumArsenideCrystal.get(2L), GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Europium, 2), GT_Utility.getIntegratedCircuit(3), Materials.Radon.getGas(8000), null, ItemList.Circuit_Silicon_Ingot4.get(1), GT_Values.NI, GT_Values.NI, GT_Values.NI, 18000, 7680, 6484); GT_Values.RA.addCutterRecipe(new ItemStack[]{ItemList.Circuit_Silicon_Ingot4.get(1)}, new ItemStack[]{ItemList.Circuit_Silicon_Wafer4.get(64), ItemList.Circuit_Silicon_Wafer4.get(32), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.SiliconSG, 32L)}, 2400, 1920, true); GT_Values.RA.addBlastRecipe(GT_OreDictUnificator.get(OrePrefixes.block, Materials.SiliconSG, 64), ItemList.GalliumArsenideCrystal.get(4L), GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Americium, 4), GT_Utility.getIntegratedCircuit(3), Materials.Radon.getGas(16000), GT_Values.NF, ItemList.Circuit_Silicon_Ingot5.get(1), GT_Values.NI, GT_Values.NI, GT_Values.NI, 21000, 30720, 9000); GT_Values.RA.addCutterRecipe(new ItemStack[]{ItemList.Circuit_Silicon_Ingot5.get(1)}, new ItemStack[]{ItemList.Circuit_Silicon_Wafer5.get(64), ItemList.Circuit_Silicon_Wafer5.get(64), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.SiliconSG, 64L)}, 3200, 7680, true); - // ----------------------------------- Plasma Forge ------------------------------------------------------------------------------------------ - - // See https://docs.google.com/spreadsheets/d/1_n2HSFyzfNzkJHYBPFu3HTZvkh69GBi5LXw2c9FyG9o/edit?usp=sharing for details on plasma forge maths. - - // Neutronium Smelting. - GT_Values.RA.addPlasmaForgeRecipe( - new ItemStack[]{GT_Values.NI}, - new FluidStack[]{Materials.ExcitedDTCC.getFluid(22119L), Materials.Iron.getMolten(73728L)}, - - new ItemStack[]{GT_Values.NI}, - new FluidStack[]{Materials.DimensionallyTranscendentResidue.getFluid(22119L/8), Materials.Neutronium.getMolten(73728L)}, - 2500, 25_165_824, 10900); - - GT_Values.RA.addPlasmaForgeRecipe( - new ItemStack[]{GT_Values.NI}, - new FluidStack[]{Materials.ExcitedDTPC.getFluid(10241L), Materials.Iron.getMolten(147456L)}, - - new ItemStack[]{GT_Values.NI}, - new FluidStack[]{Materials.DimensionallyTranscendentResidue.getFluid(10241L/4), Materials.Neutronium.getMolten(147456L)}, - 1250, 50_331_648, 11800); - - GT_Values.RA.addPlasmaForgeRecipe( - new ItemStack[]{GT_Values.NI}, - new FluidStack[]{Materials.ExcitedDTRC.getFluid(4553L), Materials.Iron.getMolten(294912L)}, - - new ItemStack[]{GT_Values.NI}, - new FluidStack[]{Materials.DimensionallyTranscendentResidue.getFluid(4553L/2), Materials.Neutronium.getMolten(294912L)}, - 625, 100_663_296, 12700); - - GT_Values.RA.addPlasmaForgeRecipe( - new ItemStack[]{GT_Values.NI}, - new FluidStack[]{Materials.ExcitedDTEC.getFluid(1930L), Materials.Iron.getMolten(589824L)}, - - new ItemStack[]{GT_Values.NI}, - new FluidStack[]{Materials.DimensionallyTranscendentResidue.getFluid(1930L), Materials.Neutronium.getMolten(589824L)}, - 312, 201_326_592, 13600); - - // Cosmic Neutronium Smelting. - GT_Values.RA.addPlasmaForgeRecipe( - new ItemStack[]{GT_Values.NI}, - new FluidStack[]{Materials.ExcitedDTCC.getFluid(10507L), Materials.Copper.getMolten(512L*144L)}, - - new ItemStack[]{GT_Values.NI}, - new FluidStack[]{Materials.DimensionallyTranscendentResidue.getFluid(10507L/8), Materials.CosmicNeutronium.getMolten(512L*144L)}, - 4200, 7_115_337, 10900); - - GT_Values.RA.addPlasmaForgeRecipe( - new ItemStack[]{GT_Values.NI}, - new FluidStack[]{Materials.ExcitedDTPC.getFluid(4864L), Materials.Copper.getMolten(1024L*144L)}, - - new ItemStack[]{GT_Values.NI}, - new FluidStack[]{Materials.DimensionallyTranscendentResidue.getFluid(4864L/4), Materials.CosmicNeutronium.getMolten(1024L*144L)}, - 2100, 14_230_674, 11800); - - GT_Values.RA.addPlasmaForgeRecipe( - new ItemStack[]{GT_Values.NI}, - new FluidStack[]{Materials.ExcitedDTRC.getFluid(2163L), Materials.Copper.getMolten(2048L*144L)}, - - new ItemStack[]{GT_Values.NI}, - new FluidStack[]{Materials.DimensionallyTranscendentResidue.getFluid(2163L/2), Materials.CosmicNeutronium.getMolten(2048L*144L)}, - 1050, 28_461_349, 12700); - - GT_Values.RA.addPlasmaForgeRecipe( - new ItemStack[]{GT_Values.NI}, - new FluidStack[]{Materials.ExcitedDTEC.getFluid(917L), Materials.Copper.getMolten(4096L*144L)}, - - new ItemStack[]{GT_Values.NI}, - new FluidStack[]{Materials.DimensionallyTranscendentResidue.getFluid(917L), Materials.CosmicNeutronium.getMolten(4096L*144L)}, - 525, 56_922_697, 13600); - - // Infinity & SC Smelting. - // See core mod. - - // Bedrockium. - - GT_Values.RA.addPlasmaForgeRecipe( - new ItemStack[]{GT_Values.NI}, - new FluidStack[]{Materials.ExcitedDTCC.getFluid(3360L), Materials.Steel.getMolten(2048L*144L)}, - - new ItemStack[]{GT_Values.NI}, - new FluidStack[]{Materials.DimensionallyTranscendentResidue.getFluid(3360L/8), Materials.Bedrockium.getMolten(2048L*144L)}, - 3360, 29_659_721, 10900); - - GT_Values.RA.addPlasmaForgeRecipe( - new ItemStack[]{GT_Values.NI}, - new FluidStack[]{Materials.ExcitedDTPC.getFluid(1680L), Materials.Steel.getMolten(4096L*144L)}, - - new ItemStack[]{GT_Values.NI}, - new FluidStack[]{Materials.DimensionallyTranscendentResidue.getFluid(1680L/4), Materials.Bedrockium.getMolten(4096L*144L)}, - 1680, 59_319_442, 11800); - - GT_Values.RA.addPlasmaForgeRecipe( - new ItemStack[]{GT_Values.NI}, - new FluidStack[]{Materials.ExcitedDTRC.getFluid(840L), Materials.Steel.getMolten(8192L*144L)}, - - new ItemStack[]{GT_Values.NI}, - new FluidStack[]{Materials.DimensionallyTranscendentResidue.getFluid(840L/2), Materials.Bedrockium.getMolten(8192L*144L)}, - 840, 118_638_885, 12700); - - GT_Values.RA.addPlasmaForgeRecipe( - new ItemStack[]{GT_Values.NI}, - new FluidStack[]{Materials.ExcitedDTEC.getFluid(420L), Materials.Steel.getMolten(16384L*144L)}, - - new ItemStack[]{GT_Values.NI}, - new FluidStack[]{Materials.DimensionallyTranscendentResidue.getFluid(420L), Materials.Bedrockium.getMolten(16384L*144L)}, - 420, 237_277_769, 13600); - - // Misc - GT_Values.RA.addPlasmaForgeRecipe( - new ItemStack[]{GT_Values.NI}, - new FluidStack[]{Materials.DimensionallyTranscendentResidue.getFluid(10000L), Materials.Infinity.getMolten(9216L)}, - - new ItemStack[]{GT_Values.NI}, - new FluidStack[]{Materials.SpaceTime.getMolten(1L)}, - 2000, 2000000000, 12700); - // ----------------------------------------------------------------------------------------------------------------------------- // Catalysts for Plasma Forge. - GT_Values.RA.addFusionReactorRecipe( - new FluidStack[]{Materials.Helium.getPlasma(10L), Materials.Iron.getPlasma(10L), Materials.Calcium.getPlasma(10L), Materials.Niobium.getPlasma(10L)}, - new FluidStack[]{Materials.DimensionallyTranscendentCrudeCatalyst.getFluid(10L)}, - 20, 32500, 150000000 + GT_Values.RA.addMixerRecipe( + new ItemStack[] {GT_Utility.getIntegratedCircuit(9)}, + new FluidStack[]{Materials.Helium.getPlasma(1000L), Materials.Iron.getPlasma(1000L), Materials.Calcium.getPlasma(1000L), Materials.Niobium.getPlasma(1000L)}, + new ItemStack[] {GT_Values.NI}, + new FluidStack[]{Materials.DimensionallyTranscendentCrudeCatalyst.getFluid(1000L)}, + 50_000, 125_000 ); - GT_Values.RA.addFusionReactorRecipe( - new FluidStack[]{Materials.Helium.getPlasma(10L), Materials.Iron.getPlasma(10L), Materials.Calcium.getPlasma(10L), Materials.Niobium.getPlasma(10L), Materials.Radon.getPlasma(10L), Materials.Nickel.getPlasma(10L), Materials.Boron.getPlasma(10L), Materials.Sulfur.getPlasma(10L)}, - new FluidStack[]{Materials.DimensionallyTranscendentProsaicCatalyst.getFluid(10L)}, - 20, 65000, 300000000 + GT_Values.RA.addMixerRecipe( + new ItemStack[] {GT_Utility.getIntegratedCircuit(10)}, + new FluidStack[]{Materials.DimensionallyTranscendentCrudeCatalyst.getFluid(1000L), Materials.Radon.getPlasma(1000L), Materials.Nickel.getPlasma(1000L), Materials.Boron.getPlasma(10L), Materials.Sulfur.getPlasma(1000L)}, + new ItemStack[] {GT_Values.NI}, + new FluidStack[]{Materials.DimensionallyTranscendentProsaicCatalyst.getFluid(1000L)}, + 50_000, 125_000*4 ); - GT_Values.RA.addFusionReactorRecipe( - new FluidStack[]{Materials.Helium.getPlasma(10L), Materials.Iron.getPlasma(10L), Materials.Calcium.getPlasma(10L), Materials.Niobium.getPlasma(10L), Materials.Radon.getPlasma(10L), Materials.Nickel.getPlasma(10L), Materials.Boron.getPlasma(10L), Materials.Sulfur.getPlasma(10L), Materials.Nitrogen.getPlasma(10L), Materials.Zinc.getPlasma(10L), Materials.Silver.getPlasma(10L), Materials.Titanium.getPlasma(10L)}, - new FluidStack[]{Materials.DimensionallyTranscendentResplendentCatalyst.getFluid(10L)}, - 20, 130000, 600000000 + GT_Values.RA.addMixerRecipe( + new ItemStack[] {GT_Utility.getIntegratedCircuit(11)}, + new FluidStack[]{Materials.DimensionallyTranscendentProsaicCatalyst.getFluid(1000L), Materials.Nitrogen.getPlasma(1000L), Materials.Zinc.getPlasma(1000L), Materials.Silver.getPlasma(1000L), Materials.Titanium.getPlasma(1000L)}, + new ItemStack[] {GT_Values.NI}, + new FluidStack[]{Materials.DimensionallyTranscendentResplendentCatalyst.getFluid(1000L)}, + 50_000, 125_000*16 ); - GT_Values.RA.addFusionReactorRecipe( - new FluidStack[]{Materials.Helium.getPlasma(10L), Materials.Iron.getPlasma(10L), Materials.Calcium.getPlasma(10L), Materials.Niobium.getPlasma(10L), Materials.Radon.getPlasma(10L), Materials.Nickel.getPlasma(10L), Materials.Boron.getPlasma(10L), Materials.Sulfur.getPlasma(10L), Materials.Nitrogen.getPlasma(10L), Materials.Zinc.getPlasma(10L), Materials.Silver.getPlasma(10L), Materials.Titanium.getPlasma(10L), Materials.Americium.getPlasma(10L), Materials.Bismuth.getPlasma(10L), Materials.Oxygen.getPlasma(10L), Materials.Tin.getPlasma(10L)}, - new FluidStack[]{Materials.DimensionallyTranscendentExoticCatalyst.getFluid(10L)}, - 20, 260000, 1200000000 + GT_Values.RA.addMixerRecipe( + new ItemStack[] {GT_Utility.getIntegratedCircuit(12)}, + new FluidStack[]{Materials.DimensionallyTranscendentResplendentCatalyst.getFluid(1000L), Materials.Americium.getPlasma(1000L), Materials.Bismuth.getPlasma(1000L), Materials.Oxygen.getPlasma(1000L), Materials.Tin.getPlasma(1000L)}, + new ItemStack[] {GT_Values.NI}, + new FluidStack[]{Materials.DimensionallyTranscendentExoticCatalyst.getFluid(1000L)}, + 50_000, 125_000*64 ); // ----------------------------------------------------------------------------------------------------------------------------- GT_Values.RA.addLaserEngraverRecipe( new ItemStack[]{GT_Values.NI}, - new FluidStack[]{Materials.DimensionallyTranscendentCrudeCatalyst.getFluid(1L)}, + new FluidStack[]{Materials.DimensionallyTranscendentCrudeCatalyst.getFluid(1000L)}, new ItemStack[]{GT_Values.NI}, - new FluidStack[]{Materials.ExcitedDTCC.getFluid(1L)}, - 5, 8000000, true + new FluidStack[]{Materials.ExcitedDTCC.getFluid(1000L)}, + 50_000, 125_000, true ); GT_Values.RA.addLaserEngraverRecipe( new ItemStack[]{GT_Values.NI}, - new FluidStack[]{Materials.DimensionallyTranscendentProsaicCatalyst.getFluid(1L)}, + new FluidStack[]{Materials.DimensionallyTranscendentProsaicCatalyst.getFluid(1000L)}, new ItemStack[]{GT_Values.NI}, - new FluidStack[]{Materials.ExcitedDTPC.getFluid(1L)}, - 5, 32000000, true + new FluidStack[]{Materials.ExcitedDTPC.getFluid(1000L)}, + 50_000, 125_000*4, true ); GT_Values.RA.addLaserEngraverRecipe( new ItemStack[]{GT_Values.NI}, - new FluidStack[]{Materials.DimensionallyTranscendentResplendentCatalyst.getFluid(1L)}, + new FluidStack[]{Materials.DimensionallyTranscendentResplendentCatalyst.getFluid(1000L)}, new ItemStack[]{GT_Values.NI}, - new FluidStack[]{Materials.ExcitedDTRC.getFluid(1L)}, - 5, 128000000, true + new FluidStack[]{Materials.ExcitedDTRC.getFluid(1000L)}, + 50_000, 125_000*16, true ); GT_Values.RA.addLaserEngraverRecipe( new ItemStack[]{GT_Values.NI}, - new FluidStack[]{Materials.DimensionallyTranscendentExoticCatalyst.getFluid(1L)}, + new FluidStack[]{Materials.DimensionallyTranscendentExoticCatalyst.getFluid(1000L)}, new ItemStack[]{GT_Values.NI}, - new FluidStack[]{Materials.ExcitedDTEC.getFluid(1L)}, - 5, 512000000, true + new FluidStack[]{Materials.ExcitedDTEC.getFluid(1000L)}, + 50_000, 125_000*64, true ); // ----------------------------------------------------------------------------------------------------------------------------- @@ -952,6 +843,7 @@ public class GT_MachineRecipeLoader implements Runnable { GT_Values.RA.addWiremillRecipe(GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Neutronium, 1L), GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Neutronium, 8L), 400, 30); GT_Values.RA.addWiremillRecipe(GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Americium, 1L), GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Americium, 4L), 200, 16); GT_Values.RA.addWiremillRecipe(GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Americium, 1L), GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Americium, 8L), 400, 30); + GT_Values.RA.addWiremillRecipe(GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.SpaceTime, 1L), GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SpaceTime, 2L), 400, 32000); GT_Values.RA.addDistilleryRecipe(GT_Utility.getIntegratedCircuit(24), Materials.Creosote.getFluid(100L), Materials.Lubricant.getFluid(32L), 240, 30, false); GT_Values.RA.addDistilleryRecipe(GT_Utility.getIntegratedCircuit(24), Materials.SeedOil.getFluid(32L), Materials.Lubricant.getFluid(8L), 80, 30, false); diff --git a/src/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java b/src/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java index dc65e9b2ef..7095a121cf 100644 --- a/src/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java +++ b/src/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java @@ -427,8 +427,8 @@ public class GT_Loader_Item_Block_And_Fluid implements Runnable { GregTech_API.sBlockMetal9 = new GT_Block_Metal("gt.blockmetal9", new Materials[]{ Materials.Cryolite, MaterialsKevlar.NickelAluminide, - Materials.SiliconSG - + Materials.SiliconSG, + Materials.SpaceTime }, OrePrefixes.block, gregtech.api.enums.Textures.BlockIcons.STORAGE_BLOCKS12); diff --git a/src/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java b/src/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java index 0989cbbf54..248a17446f 100644 --- a/src/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java +++ b/src/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java @@ -1166,8 +1166,8 @@ public class GT_Loader_MetaTileEntities implements Runnable {//TODO CHECK CIRCUI makeWires(Materials.SuperconductorUHV, 2020, 0L, 0L, 48L, gregtech.api.enums.GT_Values.V[9] , aBoolConst_0, true); makeWires(Materials.SuperconductorUEV, 2026, 0L, 0L, 64L, gregtech.api.enums.GT_Values.V[10], aBoolConst_0, true); - makeWires(Materials.Ichorium, 2600, 2L, 2L, 12L, GT_Values.V[9], false, true); + makeWires(Materials.SpaceTime, 2606, 0L, 0L, 1_000_000L, GT_Values.V[15], false, true); if (!GT_Mod.gregtechproxy.mDisableIC2Cables) { GT_ModHandler.addCraftingRecipe(GT_ModHandler.getIC2Item("copperCableItem", 2L), GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.BUFFERED, new Object[]{"xP", 'P', OrePrefixes.plate.get(Materials.AnyCopper)}); diff --git a/src/main/resources/assets/gregtech/lang/en_US.lang b/src/main/resources/assets/gregtech/lang/en_US.lang index ff2d2fb765..ac08125618 100644 --- a/src/main/resources/assets/gregtech/lang/en_US.lang +++ b/src/main/resources/assets/gregtech/lang/en_US.lang @@ -612,6 +612,19 @@ achievement.gt.blockcasingsTT.8=Hollow Casing achievement.gt.blockcasingsTT.8.desc=Pickup this item to see the recipe in NEI achievement.gt.blockcasingsTT.7=Molecular Coil achievement.gt.blockcasingsTT.7.desc=Pickup this item to see the recipe in NEI +achievement.gt.blockcasings.12=Dimensionally Transcendent Casing +achievement.gt.blockcasings.12.desc=Pickup this item to see the recipe in NEI +achievement.gt.blockcasings.13=Dimensional Injection Casing +achievement.gt.blockcasings.13.desc=Pickup this item to see the recipe in NEI +achievement.gt.blockcasings.14=Dimensional Bridge +achievement.gt.blockcasings.14.desc=Pickup this item to see the recipe in NEI +achievement.gt.blockmachines.multimachine.plasmaforge=Dimensionally Transcendent Plasma Forge +achievement.gt.blockmachines.multimachine.plasmaforge.desc=Pickup this item to see the recipe in NEI +achievement.gt.blockcasings5.12=Hypogen Coil +achievement.gt.blockcasings5.12.desc=Pickup this item to see the recipe in NEI +achievement.gt.blockcasings5.13=Eternal Coil +achievement.gt.blockcasings5.13.desc=Pickup this item to see the recipe in NEI + achievement.gt.blockmachines.multimachine.em.infuser=Energy Infuser achievement.gt.blockmachines.multimachine.em.infuser.desc=Pickup this item to see the recipe in NEI achievement.gt.blockmachines.hatch.holder.tier.09=Object Holder diff --git a/src/main/resources/assets/gregtech/textures/blocks/iconsets/BLOCK_SPACETIME.png b/src/main/resources/assets/gregtech/textures/blocks/iconsets/BLOCK_SPACETIME.png Binary files differnew file mode 100644 index 0000000000..fe5696854b --- /dev/null +++ b/src/main/resources/assets/gregtech/textures/blocks/iconsets/BLOCK_SPACETIME.png diff --git a/src/main/resources/assets/gregtech/textures/blocks/iconsets/BLOCK_SPACETIME.png.mcmeta b/src/main/resources/assets/gregtech/textures/blocks/iconsets/BLOCK_SPACETIME.png.mcmeta new file mode 100644 index 0000000000..0dab81071f --- /dev/null +++ b/src/main/resources/assets/gregtech/textures/blocks/iconsets/BLOCK_SPACETIME.png.mcmeta @@ -0,0 +1 @@ +{"animation": {"frametime": 3}}
\ No newline at end of file diff --git a/src/main/resources/assets/gregtech/textures/blocks/iconsets/OVERLAY_DTPF_OFF.png b/src/main/resources/assets/gregtech/textures/blocks/iconsets/OVERLAY_DTPF_OFF.png Binary files differnew file mode 100644 index 0000000000..0db6b6bf29 --- /dev/null +++ b/src/main/resources/assets/gregtech/textures/blocks/iconsets/OVERLAY_DTPF_OFF.png diff --git a/src/main/resources/assets/gregtech/textures/blocks/iconsets/OVERLAY_DTPF_ON.png b/src/main/resources/assets/gregtech/textures/blocks/iconsets/OVERLAY_DTPF_ON.png Binary files differnew file mode 100644 index 0000000000..9d397ecde5 --- /dev/null +++ b/src/main/resources/assets/gregtech/textures/blocks/iconsets/OVERLAY_DTPF_ON.png diff --git a/src/main/resources/assets/gregtech/textures/blocks/iconsets/OVERLAY_DTPF_ON.png.mcmeta b/src/main/resources/assets/gregtech/textures/blocks/iconsets/OVERLAY_DTPF_ON.png.mcmeta new file mode 100644 index 0000000000..f16b74ddb1 --- /dev/null +++ b/src/main/resources/assets/gregtech/textures/blocks/iconsets/OVERLAY_DTPF_ON.png.mcmeta @@ -0,0 +1,6 @@ +{ + "animation": { + "frametime": 8 + } +} + diff --git a/src/main/resources/assets/gregtech/textures/blocks/materialicons/CUSTOM/spacetime/BLOCK_SPACETIME.png b/src/main/resources/assets/gregtech/textures/blocks/materialicons/CUSTOM/spacetime/BLOCK_SPACETIME.png Binary files differnew file mode 100644 index 0000000000..fe5696854b --- /dev/null +++ b/src/main/resources/assets/gregtech/textures/blocks/materialicons/CUSTOM/spacetime/BLOCK_SPACETIME.png |