diff options
Diffstat (limited to 'src/main/java')
51 files changed, 4034 insertions, 1201 deletions
diff --git a/src/main/java/com/github/technus/tectech/CommonValues.java b/src/main/java/com/github/technus/tectech/CommonValues.java index 8ac6188b63..9564643fbe 100644 --- a/src/main/java/com/github/technus/tectech/CommonValues.java +++ b/src/main/java/com/github/technus/tectech/CommonValues.java @@ -18,6 +18,10 @@ public final class CommonValues { EnumChatFormatting.BLUE + "Tec" + EnumChatFormatting.DARK_BLUE + "Tech" + EnumChatFormatting.BLUE + ": Theta Movement"; + public static final String COSMIC_MARK = + EnumChatFormatting.BLUE + "Tec" + + EnumChatFormatting.DARK_BLUE + "Tech" + + EnumChatFormatting.BLUE + ": Cosmic";//TODO get a better name than cosmic for *UNDEFINED* thing public static final byte DECAY_AT = 0;// hatches compute decays public static final byte MULTI_PURGE_1_AT = 2;// multiblocks clean their hatches 1 diff --git a/src/main/java/com/github/technus/tectech/TecTech.java b/src/main/java/com/github/technus/tectech/TecTech.java index f998a9017b..79defc0a1a 100644 --- a/src/main/java/com/github/technus/tectech/TecTech.java +++ b/src/main/java/com/github/technus/tectech/TecTech.java @@ -87,7 +87,7 @@ public class TecTech { FMLCommonHandler.instance().bus().register(playerPersistence); MinecraftForge.EVENT_BUS.register(playerPersistence); - chunkDataHandler=new ChunkDataHandler(); + chunkDataHandler=new ChunkDataHandler(); FMLCommonHandler.instance().bus().register(chunkDataHandler); MinecraftForge.EVENT_BUS.register(chunkDataHandler); @@ -197,7 +197,6 @@ public class TecTech { MainLoader.postLoad(); chunkDataHandler.registerChunkMetaDataHandler(anomalyHandler=new AnomalyHandler()); - } @Mod.EventHandler diff --git a/src/main/java/com/github/technus/tectech/Util.java b/src/main/java/com/github/technus/tectech/Util.java index 75ae4d3807..70e3a4562c 100644 --- a/src/main/java/com/github/technus/tectech/Util.java +++ b/src/main/java/com/github/technus/tectech/Util.java @@ -37,6 +37,7 @@ import org.apache.commons.lang3.StringUtils; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; +import java.io.Serializable; import java.lang.reflect.Field; import java.util.*; import java.util.regex.Matcher; @@ -160,6 +161,59 @@ public final class Util { return result.toString(); } + public static class thaumSpark implements Serializable { + private static final long serialVersionUID = -7037856938316679566L; + public int x, y, z, wID; + public byte xR, yR, zR; + + public thaumSpark(){ + this.x = 0; + this.z = 0; + this.y = 0; + + this.xR = 0; + this.yR = 0; + this.zR = 0; + + this.wID = 0; + } + + public thaumSpark(int x, int y, int z, byte xR, byte yR, byte zR, int wID) { + this.x = x; + this.z = z; + this.y = y; + + this.xR = xR; + this.yR = yR; + this.zR = zR; + + this.wID = wID; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + thaumSpark that = (thaumSpark) o; + return x == that.x && + y == that.y && + z == that.z && + wID == that.wID && + xR == that.xR && + yR == that.yR && + zR == that.zR; + } + + @Override + public int hashCode() { + return Objects.hash(x, y, z, wID, xR, yR, zR); + } + } + + public static float map(float x, float in_min, float in_max, float out_min, float out_max) { + return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min; + } + //region junk /* //Check Machine Structure based on string[][] (effectively char[][][]), ond offset of the controller diff --git a/src/main/java/com/github/technus/tectech/compatibility/dreamcraft/DreamCraftRecipeLoader.java b/src/main/java/com/github/technus/tectech/compatibility/dreamcraft/DreamCraftRecipeLoader.java index b23e2f8c01..605ce17509 100644 --- a/src/main/java/com/github/technus/tectech/compatibility/dreamcraft/DreamCraftRecipeLoader.java +++ b/src/main/java/com/github/technus/tectech/compatibility/dreamcraft/DreamCraftRecipeLoader.java @@ -61,7 +61,7 @@ public class DreamCraftRecipeLoader implements Runnable { GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ CustomItemList.eM_Containment.get(1), GT_ModHandler.getIC2Item("reinforcedGlass", 1L) - }, getOrDefault("Trinium",Materials.Osmium).getMolten(576), new ItemStack(QuantumGlassBlock.INSTANCE, 1), 200, 500000); + }, getOrDefault("Trinium", Materials.Osmium).getMolten(576), new ItemStack(QuantumGlassBlock.INSTANCE, 1), 200, 500000); //region pipes @@ -71,8 +71,6 @@ public class DreamCraftRecipeLoader implements Runnable { GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Silver, 8) }, Materials.Polytetrafluoroethylene.getMolten(144), CustomItemList.DATApipe.get(1), 200, 30720); - //endregion - //Tunnel addAssemblerRecipeWithCleanroom(new ItemStack[]{ CustomItemList.DATApipe.get(1), @@ -82,15 +80,15 @@ public class DreamCraftRecipeLoader implements Runnable { ItemList.Field_Generator_MV.get(1), ItemList.Circuit_Quantummainframe.get(1) }, Materials.Osmium.getMolten(288), CustomItemList.EMpipe.get(1), 400, 500000); - + //Laser addAssemblerRecipeWithCleanroom(new ItemStack[]{ CustomItemList.DATApipe.get(1), GT_ModHandler.getIC2Item("reinforcedGlass", 1L), GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Osmiridium, 2) }, null, CustomItemList.LASERpipe.get(1), 100, 500000); - - //endregoin + + //endregion //region casing @@ -118,7 +116,7 @@ public class DreamCraftRecipeLoader implements Runnable { GT_OreDictUnificator.get(OrePrefixes.rotor, Materials.StainlessSteel, 2), GT_OreDictUnificator.get(OrePrefixes.pipeTiny, Materials.StainlessSteel, 16), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Copper, 16), - GT_OreDictUnificator.get(OrePrefixes.wireGt01, getOrDefault("SuperconductorIV",Materials.Superconductor), 1) + GT_OreDictUnificator.get(OrePrefixes.wireGt01, getOrDefault("SuperconductorIV", Materials.Superconductor), 1) }, Materials.SolderingAlloy.getMolten(1296), CustomItemList.eM_Computer_Vent.get(1), 100, 1920); //Advanced Computer Casing addAssemblerRecipeWithCleanroom(new ItemStack[]{ @@ -126,14 +124,14 @@ public class DreamCraftRecipeLoader implements Runnable { GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Ultimate, 1), GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Cobalt, 64), GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Electrum, 64), - GT_OreDictUnificator.get(OrePrefixes.wireGt02, getOrDefault("SuperconductorLuV",Materials.Superconductor), 4) + GT_OreDictUnificator.get(OrePrefixes.wireGt02, getOrDefault("SuperconductorLuV", Materials.Superconductor), 4) }, Materials.Iridium.getMolten(1296), CustomItemList.eM_Computer_Bus.get(1), 200, 122880); //Molecular Casing GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ CustomItemList.eM_Power.get(1), GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Osmiridium, 6), - GT_OreDictUnificator.get(OrePrefixes.foil, getOrDefault("Trinium",Materials.Osmium), 12), + GT_OreDictUnificator.get(OrePrefixes.foil, getOrDefault("Trinium", Materials.Osmium), 12), GT_OreDictUnificator.get(OrePrefixes.screw, Materials.TungstenSteel, 24), GT_OreDictUnificator.get(OrePrefixes.ring, Materials.TungstenSteel, 24), ItemList.Field_Generator_IV.get(1) @@ -141,15 +139,15 @@ public class DreamCraftRecipeLoader implements Runnable { //Hollow Casing TT_recipeAdder.addResearchableAssemblylineRecipe(CustomItemList.eM_Containment.get(1), - 12000,32, 500000, 6, new ItemStack[]{ + 12000, 32, 500000, 6, new ItemStack[]{ CustomItemList.eM_Containment.get(1), GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Neutronium, 2), GT_OreDictUnificator.get(OrePrefixes.plateQuadruple, Materials.Plutonium, 4), GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Lead, 8), - GT_OreDictUnificator.get(OrePrefixes.plate, getOrDefault("BlackPlutonium",Materials.Americium), 16), - GT_OreDictUnificator.get(OrePrefixes.screw, getOrDefault("Quantium",Materials.Neutronium), 16), + GT_OreDictUnificator.get(OrePrefixes.plate, getOrDefault("BlackPlutonium", Materials.Americium), 16), + GT_OreDictUnificator.get(OrePrefixes.screw, getOrDefault("Quantium", Materials.Neutronium), 16), }, new FluidStack[]{ - getOrDefault("Trinium",Materials.Osmium).getMolten(1296), + getOrDefault("Trinium", Materials.Osmium).getMolten(1296), Materials.Osmium.getMolten(1296), new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), Materials.Argon.getGas(1000), @@ -157,21 +155,76 @@ public class DreamCraftRecipeLoader implements Runnable { //EM Coil TT_recipeAdder.addResearchableAssemblylineRecipe(CustomItemList.eM_Hollow.get(1), - 48000,128, 1000000, 16, new ItemStack[]{ + 48000, 128, 1000000, 16, new ItemStack[]{ CustomItemList.eM_Hollow.get(1), ItemList.Casing_Fusion_Coil.get(4), - ItemList.Casing_Coil_NaquadahAlloy.get( 4), + ItemList.Casing_Coil_NaquadahAlloy.get(4), GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Neutronium, 64), GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Neutronium, 64), }, new FluidStack[]{ Materials.Glass.getMolten(2304), Materials.Silicone.getMolten(1872), new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), - getOrDefault("Trinium",Materials.Osmium).getMolten(1296), + getOrDefault("Trinium", Materials.Osmium).getMolten(1296), }, CustomItemList.eM_Coil.get(4), 800, 2000000); - //endregion + //Tesla Base + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.NickelZincFerrite, 6), + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.NickelZincFerrite, 1) + }, null, CustomItemList.tM_TeslaBase.get(1), 50, 16); + GT_ModHandler.addCraftingRecipe(CustomItemList.tM_TeslaBase.get(1), + GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, + new Object[]{"PhP", "PFP", "PwP", + 'P', OrePrefixes.plate.get(Materials.NickelZincFerrite), + 'F', OrePrefixes.frameGt.get(Materials.NickelZincFerrite)}); + //Tesla Toroid + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 6), + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Aluminium, 1) + }, null, CustomItemList.tM_TeslaToroid.get(1), 50, 16); + GT_ModHandler.addCraftingRecipe(CustomItemList.tM_TeslaToroid.get(1), + GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, + new Object[]{"PhP", "PFP", "PwP", + 'P', OrePrefixes.foil.get(Materials.Aluminium), + 'F', OrePrefixes.frameGt.get(Materials.Aluminium)}); + //Tesla Secondary Windings + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + CustomItemList.teslaComponent.getWithDamage(8, 0), + getItemContainer("MicaInsulatorFoil").get(12) + }, Materials.Silver.getMolten(144), CustomItemList.tM_TeslaSecondary.get(1), 200, 120); + //Tesla Primary Coils T0 + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.RedstoneAlloy, 8), + getItemContainer("MicaInsulatorFoil").get(8) + }, Materials.RedAlloy.getMolten(144), CustomItemList.tM_TeslaPrimary_0.get(1), 200, 30); + //Tesla Primary Coils T1 + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.SuperconductorMV, 8), + getItemContainer("MicaInsulatorFoil").get(12) + }, Materials.Magnesium.getMolten(144), CustomItemList.tM_TeslaPrimary_1.get(1), 200, 120); + //Tesla Primary Coils T2 + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.SuperconductorHV, 8), + getItemContainer("MicaInsulatorFoil").get(16) + }, Materials.Barium.getMolten(144), CustomItemList.tM_TeslaPrimary_2.get(1), 200, 480); + //Tesla Primary Coils T3 + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.SuperconductorEV, 8), + getItemContainer("MicaInsulatorFoil").get(20) + }, Materials.Platinum.getMolten(144), CustomItemList.tM_TeslaPrimary_3.get(1), 200, 1920); + //Tesla Primary Coils T4 + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.SuperconductorIV, 8), + getItemContainer("MicaInsulatorFoil").get(24) + }, Materials.Vanadium.getMolten(144), CustomItemList.tM_TeslaPrimary_4.get(1), 200, 7680); + //Tesla Primary Coils T5 + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.SuperconductorLuV, 8), + getItemContainer("MicaInsulatorFoil").get(28) + }, Materials.Indium.getMolten(144), CustomItemList.tM_TeslaPrimary_5.get(1), 50, 30720); + //endregion //region hatches @@ -196,9 +249,9 @@ public class DreamCraftRecipeLoader implements Runnable { GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("Transformer_UEV_UHV").get(1), CustomItemList.eM_dynamoMulti4_UHV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.SuperconductorUHV, 2), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 4)}, Materials.Electrum.getMolten(2304), CustomItemList.eM_dynamoMulti16_UHV.get(1), 200, 500000); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("WetTransformer_UEV_UHV").get(1), CustomItemList.eM_dynamoMulti16_UHV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.SuperconductorUHV, 2), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 6)}, Materials.Tungsten.getMolten(2304), CustomItemList.eM_dynamoMulti64_UHV.get(1), 400, 500000); - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("Hatch_Dynamo_UEV").get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Draconium, 2), GT_OreDictUnificator.get(OrePrefixes.plate, getOrDefault("Bedrockium",Materials.Neutronium), 2)}, Materials.Silver.getMolten(4608), CustomItemList.eM_dynamoMulti4_UEV.get(1), 100, 2000000); - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("Transformer_UIV_UEV").get(1), CustomItemList.eM_dynamoMulti4_UEV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Draconium, 2), GT_OreDictUnificator.get(OrePrefixes.plate, getOrDefault("Bedrockium",Materials.Neutronium), 4)}, Materials.Electrum.getMolten(4608), CustomItemList.eM_dynamoMulti16_UEV.get(1), 200, 2000000); - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("WetTransformer_UIV_UEV").get(1), CustomItemList.eM_dynamoMulti16_UEV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.Draconium, 2), GT_OreDictUnificator.get(OrePrefixes.plate, getOrDefault("Bedrockium",Materials.Neutronium), 6)}, Materials.Tungsten.getMolten(4608), CustomItemList.eM_dynamoMulti64_UEV.get(1), 400, 2000000); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("Hatch_Dynamo_UEV").get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Draconium, 2), GT_OreDictUnificator.get(OrePrefixes.plate, getOrDefault("Bedrockium", Materials.Neutronium), 2)}, Materials.Silver.getMolten(4608), CustomItemList.eM_dynamoMulti4_UEV.get(1), 100, 2000000); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("Transformer_UIV_UEV").get(1), CustomItemList.eM_dynamoMulti4_UEV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Draconium, 2), GT_OreDictUnificator.get(OrePrefixes.plate, getOrDefault("Bedrockium", Materials.Neutronium), 4)}, Materials.Electrum.getMolten(4608), CustomItemList.eM_dynamoMulti16_UEV.get(1), 200, 2000000); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("WetTransformer_UIV_UEV").get(1), CustomItemList.eM_dynamoMulti16_UEV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.Draconium, 2), GT_OreDictUnificator.get(OrePrefixes.plate, getOrDefault("Bedrockium", Materials.Neutronium), 6)}, Materials.Tungsten.getMolten(4608), CustomItemList.eM_dynamoMulti64_UEV.get(1), 400, 2000000); //GT_Values.RA.ADD_ASSEMBLER_RECIPE(new ItemStack[]{com.dreammaster.gthandler.CustomItemList.Hatch_Dynamo_UIV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.NetherStar, 2), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.BlackPlutonium, 2)}, Materials.Silver.getMolten(8000), CustomItemList.eM_dynamoMulti4_UIV.get(1), 100, 8000000); //GT_Values.RA.ADD_ASSEMBLER_RECIPE(new ItemStack[]{com.dreammaster.gthandler.CustomItemList.Transformer_UMV_UIV.get(1), CustomItemList.eM_dynamoMulti4_UIV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.NetherStar, 2), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.BlackPlutonium, 4)}, Materials.Electrum.getMolten(8000), CustomItemList.eM_dynamoMulti16_UIV.get(1), 200, 8000000); @@ -213,9 +266,9 @@ public class DreamCraftRecipeLoader implements Runnable { GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("Transformer_UEV_UHV").get(1), CustomItemList.eM_energyMulti4_UHV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.SuperconductorUHV, 2), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 4)}, Materials.Electrum.getMolten(2000), CustomItemList.eM_energyMulti16_UHV.get(1), 200, 500000); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("WetTransformer_UEV_UHV").get(1), CustomItemList.eM_energyMulti16_UHV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.SuperconductorUHV, 2), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 6)}, Materials.Tungsten.getMolten(2000), CustomItemList.eM_energyMulti64_UHV.get(1), 400, 500000); - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("Hatch_Energy_UEV").get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Draconium, 2), GT_OreDictUnificator.get(OrePrefixes.plate, getOrDefault("Bedrockium",Materials.Neutronium), 2)}, Materials.Silver.getMolten(4000), CustomItemList.eM_energyMulti4_UEV.get(1), 100, 2000000); - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("Transformer_UIV_UEV").get(1), CustomItemList.eM_energyMulti4_UEV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Draconium, 2), GT_OreDictUnificator.get(OrePrefixes.plate, getOrDefault("Bedrockium",Materials.Neutronium), 4)}, Materials.Electrum.getMolten(4000), CustomItemList.eM_energyMulti16_UEV.get(1), 200, 2000000); - GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("WetTransformer_UIV_UEV").get(1), CustomItemList.eM_energyMulti16_UEV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.Draconium, 2), GT_OreDictUnificator.get(OrePrefixes.plate, getOrDefault("Bedrockium",Materials.Neutronium),6)}, Materials.Tungsten.getMolten(4000), CustomItemList.eM_energyMulti64_UEV.get(1), 400, 2000000); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("Hatch_Energy_UEV").get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Draconium, 2), GT_OreDictUnificator.get(OrePrefixes.plate, getOrDefault("Bedrockium", Materials.Neutronium), 2)}, Materials.Silver.getMolten(4000), CustomItemList.eM_energyMulti4_UEV.get(1), 100, 2000000); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("Transformer_UIV_UEV").get(1), CustomItemList.eM_energyMulti4_UEV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Draconium, 2), GT_OreDictUnificator.get(OrePrefixes.plate, getOrDefault("Bedrockium", Materials.Neutronium), 4)}, Materials.Electrum.getMolten(4000), CustomItemList.eM_energyMulti16_UEV.get(1), 200, 2000000); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("WetTransformer_UIV_UEV").get(1), CustomItemList.eM_energyMulti16_UEV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.Draconium, 2), GT_OreDictUnificator.get(OrePrefixes.plate, getOrDefault("Bedrockium", Materials.Neutronium), 6)}, Materials.Tungsten.getMolten(4000), CustomItemList.eM_energyMulti64_UEV.get(1), 400, 2000000); //GT_Values.RA.ADD_ASSEMBLER_RECIPE(new ItemStack[]{com.dreammaster.gthandler.CustomItemList.Hatch_Energy_UIV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.NetherStar, 2), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.BlackPlutonium, 2)}, Materials.Silver.getMolten(8000), CustomItemList.eM_energyMulti4_UIV.get(1), 100, 8000000); //GT_Values.RA.ADD_ASSEMBLER_RECIPE(new ItemStack[]{com.dreammaster.gthandler.CustomItemList.Transformer_UMV_UIV.get(1), CustomItemList.eM_energyMulti4_UIV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.NetherStar, 2), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.BlackPlutonium, 4)}, Materials.Electrum.getMolten(8000), CustomItemList.eM_energyMulti16_UIV.get(1), 200, 8000000); @@ -228,7 +281,7 @@ public class DreamCraftRecipeLoader implements Runnable { GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_UV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1), ItemList.Emitter_UV.get(1), ItemList.Electric_Pump_UV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.NaquadahAlloy, 2), GT_Utility.getIntegratedCircuit(1)}, null, CustomItemList.eM_dynamoTunnel1_UV.get(1), 1000, 500000); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_MAX.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1), ItemList.Emitter_UHV.get(1), ItemList.Electric_Pump_UHV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Bedrockium, 2), GT_Utility.getIntegratedCircuit(1)}, null, CustomItemList.eM_dynamoTunnel1_UHV.get(1), 1000, 2000000); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("Hull_UEV").get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1), ItemList.Emitter_UEV.get(1), ItemList.Electric_Pump_UEV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Draconium, 2), GT_Utility.getIntegratedCircuit(1)}, null, CustomItemList.eM_dynamoTunnel1_UEV.get(1), 1000, 8000000); - + //Laser Dynamo IV-UEV 1024/t GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_IV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2), ItemList.Emitter_IV.get(2), ItemList.Electric_Pump_IV.get(2), GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.TungstenSteel, 4), GT_Utility.getIntegratedCircuit(2)}, null, CustomItemList.eM_dynamoTunnel2_IV.get(1), 2000, 7680); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_LuV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2), ItemList.Emitter_LuV.get(2), ItemList.Electric_Pump_LuV.get(2), GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.VanadiumGallium, 4), GT_Utility.getIntegratedCircuit(2)}, null, CustomItemList.eM_dynamoTunnel2_LuV.get(1), 2000, 30720); @@ -236,7 +289,7 @@ public class DreamCraftRecipeLoader implements Runnable { GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_UV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2), ItemList.Emitter_UV.get(2), ItemList.Electric_Pump_UV.get(2), GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.NaquadahAlloy, 4), GT_Utility.getIntegratedCircuit(2)}, null, CustomItemList.eM_dynamoTunnel2_UV.get(1), 2000, 500000); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_MAX.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2), ItemList.Emitter_UHV.get(2), ItemList.Electric_Pump_UHV.get(2), GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Bedrockium, 4), GT_Utility.getIntegratedCircuit(2)}, null, CustomItemList.eM_dynamoTunnel2_UHV.get(1), 2000, 2000000); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("Hull_UEV").get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2), ItemList.Emitter_UEV.get(2), ItemList.Electric_Pump_UEV.get(2), GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Draconium, 4), GT_Utility.getIntegratedCircuit(2)}, null, CustomItemList.eM_dynamoTunnel2_UEV.get(1), 2000, 8000000); - + //Laser Dynamo IV-UEV 4096/t GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_IV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4), ItemList.Emitter_IV.get(4), ItemList.Electric_Pump_IV.get(4), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.TungstenSteel, 4), GT_Utility.getIntegratedCircuit(3)}, null, CustomItemList.eM_dynamoTunnel3_IV.get(1), 4000, 7680); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_LuV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4), ItemList.Emitter_LuV.get(4), ItemList.Electric_Pump_LuV.get(4), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.VanadiumGallium, 4), GT_Utility.getIntegratedCircuit(3)}, null, CustomItemList.eM_dynamoTunnel3_LuV.get(1), 4000, 30720); @@ -244,7 +297,7 @@ public class DreamCraftRecipeLoader implements Runnable { GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_UV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4), ItemList.Emitter_UV.get(4), ItemList.Electric_Pump_UV.get(4), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.NaquadahAlloy, 4), GT_Utility.getIntegratedCircuit(3)}, null, CustomItemList.eM_dynamoTunnel3_UV.get(1), 4000, 500000); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_MAX.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4), ItemList.Emitter_UHV.get(4), ItemList.Electric_Pump_UHV.get(4), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Bedrockium, 4), GT_Utility.getIntegratedCircuit(3)}, null, CustomItemList.eM_dynamoTunnel3_UHV.get(1), 4000, 2000000); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("Hull_UEV").get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4), ItemList.Emitter_UEV.get(4), ItemList.Electric_Pump_UEV.get(4), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Draconium, 4), GT_Utility.getIntegratedCircuit(3)}, null, CustomItemList.eM_dynamoTunnel3_UEV.get(1), 4000, 8000000); - + //Laser Dynamo IV-UEV 16384/t GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_IV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 8), ItemList.Emitter_IV.get(8), ItemList.Electric_Pump_IV.get(8), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.TungstenSteel, 8), GT_Utility.getIntegratedCircuit(4)}, null, CustomItemList.eM_dynamoTunnel4_IV.get(1), 8000, 7680); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_LuV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 8), ItemList.Emitter_LuV.get(8), ItemList.Electric_Pump_LuV.get(8), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.VanadiumGallium, 8), GT_Utility.getIntegratedCircuit(4)}, null, CustomItemList.eM_dynamoTunnel4_LuV.get(1), 8000, 30720); @@ -252,7 +305,7 @@ public class DreamCraftRecipeLoader implements Runnable { GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_UV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 8), ItemList.Emitter_UV.get(8), ItemList.Electric_Pump_UV.get(8), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.NaquadahAlloy, 8), GT_Utility.getIntegratedCircuit(4)}, null, CustomItemList.eM_dynamoTunnel4_UV.get(1), 8000, 500000); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_MAX.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 8), ItemList.Emitter_UHV.get(8), ItemList.Electric_Pump_UHV.get(8), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Bedrockium, 8), GT_Utility.getIntegratedCircuit(4)}, null, CustomItemList.eM_dynamoTunnel4_UHV.get(1), 8000, 2000000); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("Hull_UEV").get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 8), ItemList.Emitter_UEV.get(8), ItemList.Electric_Pump_UEV.get(8), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Draconium, 8), GT_Utility.getIntegratedCircuit(4)}, null, CustomItemList.eM_dynamoTunnel4_UEV.get(1), 8000, 8000000); - + //Laser Dynamo IV-UEV 65536/t GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_IV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16), ItemList.Emitter_IV.get(16), ItemList.Electric_Pump_IV.get(16), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.TungstenSteel, 8), GT_Utility.getIntegratedCircuit(5)}, null, CustomItemList.eM_dynamoTunnel5_IV.get(1), 16000, 7680); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_LuV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16), ItemList.Emitter_LuV.get(16), ItemList.Electric_Pump_LuV.get(16), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.VanadiumGallium, 8), GT_Utility.getIntegratedCircuit(5)}, null, CustomItemList.eM_dynamoTunnel5_LuV.get(1), 16000, 30720); @@ -260,7 +313,7 @@ public class DreamCraftRecipeLoader implements Runnable { GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_UV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16), ItemList.Emitter_UV.get(16), ItemList.Electric_Pump_UV.get(16), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.NaquadahAlloy, 8), GT_Utility.getIntegratedCircuit(5)}, null, CustomItemList.eM_dynamoTunnel5_UV.get(1), 16000, 500000); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_MAX.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16), ItemList.Emitter_UHV.get(16), ItemList.Electric_Pump_UHV.get(16), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Bedrockium, 8), GT_Utility.getIntegratedCircuit(5)}, null, CustomItemList.eM_dynamoTunnel5_UHV.get(1), 16000, 2000000); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("Hull_UEV").get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16), ItemList.Emitter_UEV.get(16), ItemList.Electric_Pump_UEV.get(16), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Draconium, 8), GT_Utility.getIntegratedCircuit(5)}, null, CustomItemList.eM_dynamoTunnel5_UEV.get(1), 16000, 8000000); - + //Laser Dynamo IV-UEV 262144/t GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_IV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32), ItemList.Emitter_IV.get(32), ItemList.Electric_Pump_IV.get(32), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.TungstenSteel, 16), GT_Utility.getIntegratedCircuit(6)}, null, CustomItemList.eM_dynamoTunnel6_IV.get(1), 32000, 7680); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_LuV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32), ItemList.Emitter_LuV.get(32), ItemList.Electric_Pump_LuV.get(32), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.VanadiumGallium, 16), GT_Utility.getIntegratedCircuit(6)}, null, CustomItemList.eM_dynamoTunnel6_LuV.get(1), 32000, 30720); @@ -268,7 +321,7 @@ public class DreamCraftRecipeLoader implements Runnable { GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_UV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32), ItemList.Emitter_UV.get(32), ItemList.Electric_Pump_UV.get(32), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.NaquadahAlloy, 16), GT_Utility.getIntegratedCircuit(6)}, null, CustomItemList.eM_dynamoTunnel6_UV.get(1), 32000, 500000); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_MAX.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32), ItemList.Emitter_UHV.get(32), ItemList.Electric_Pump_UHV.get(32), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Bedrockium, 16), GT_Utility.getIntegratedCircuit(6)}, null, CustomItemList.eM_dynamoTunnel6_UHV.get(1), 32000, 2000000); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("Hull_UEV").get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32), ItemList.Emitter_UEV.get(32), ItemList.Electric_Pump_UEV.get(32), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Draconium, 16), GT_Utility.getIntegratedCircuit(6)}, null, CustomItemList.eM_dynamoTunnel6_UEV.get(1), 32000, 8000000); - + //Laser Dynamo IV-UEV 1048576/t GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_IV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64), ItemList.Emitter_IV.get(64), ItemList.Electric_Pump_IV.get(64), GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.TungstenSteel, 16), GT_Utility.getIntegratedCircuit(7)}, null, CustomItemList.eM_dynamoTunnel7_IV.get(1), 64000, 7680); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_LuV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64), ItemList.Emitter_LuV.get(64), ItemList.Electric_Pump_LuV.get(64), GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.VanadiumGallium, 16), GT_Utility.getIntegratedCircuit(7)}, null, CustomItemList.eM_dynamoTunnel7_LuV.get(1), 64000, 30720); @@ -276,7 +329,7 @@ public class DreamCraftRecipeLoader implements Runnable { GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_UV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64), ItemList.Emitter_UV.get(64), ItemList.Electric_Pump_UV.get(64), GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.NaquadahAlloy, 16), GT_Utility.getIntegratedCircuit(7)}, null, CustomItemList.eM_dynamoTunnel7_UV.get(1), 64000, 500000); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_MAX.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64), ItemList.Emitter_UHV.get(64), ItemList.Electric_Pump_UHV.get(64), GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.Bedrockium, 16), GT_Utility.getIntegratedCircuit(7)}, null, CustomItemList.eM_dynamoTunnel7_UHV.get(1), 64000, 2000000); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("Hull_UEV").get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64), ItemList.Emitter_UEV.get(64), ItemList.Electric_Pump_UEV.get(64), GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.Draconium, 16), GT_Utility.getIntegratedCircuit(7)}, null, CustomItemList.eM_dynamoTunnel7_UEV.get(1), 64000, 8000000); - + //Laser Target IV-UEV 256/t GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_IV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1), ItemList.Sensor_IV.get(1), ItemList.Electric_Pump_IV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.TungstenSteel, 2), GT_Utility.getIntegratedCircuit(1)}, null, CustomItemList.eM_energyTunnel1_IV.get(1), 1000, 7680); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_LuV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1), ItemList.Sensor_LuV.get(1), ItemList.Electric_Pump_LuV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.VanadiumGallium, 2), GT_Utility.getIntegratedCircuit(1)}, null, CustomItemList.eM_energyTunnel1_LuV.get(1), 1000, 30720); @@ -284,7 +337,7 @@ public class DreamCraftRecipeLoader implements Runnable { GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_UV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1), ItemList.Sensor_UV.get(1), ItemList.Electric_Pump_UV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.NaquadahAlloy, 2), GT_Utility.getIntegratedCircuit(1)}, null, CustomItemList.eM_energyTunnel1_UV.get(1), 1000, 500000); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_MAX.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1), ItemList.Sensor_UHV.get(1), ItemList.Electric_Pump_UHV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Bedrockium, 2), GT_Utility.getIntegratedCircuit(1)}, null, CustomItemList.eM_energyTunnel1_UHV.get(1), 1000, 2000000); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("Hull_UEV").get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1), ItemList.Sensor_UEV.get(1), ItemList.Electric_Pump_UEV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Draconium, 2), GT_Utility.getIntegratedCircuit(1)}, null, CustomItemList.eM_energyTunnel1_UEV.get(1), 1000, 8000000); - + //Laser Target IV-UEV 1024/t GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_IV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2), ItemList.Sensor_IV.get(2), ItemList.Electric_Pump_IV.get(2), GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.TungstenSteel, 4), GT_Utility.getIntegratedCircuit(2)}, null, CustomItemList.eM_energyTunnel2_IV.get(1), 2000, 7680); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_LuV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2), ItemList.Sensor_LuV.get(2), ItemList.Electric_Pump_LuV.get(2), GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.VanadiumGallium, 4), GT_Utility.getIntegratedCircuit(2)}, null, CustomItemList.eM_energyTunnel2_LuV.get(1), 2000, 30720); @@ -292,7 +345,7 @@ public class DreamCraftRecipeLoader implements Runnable { GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_UV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2), ItemList.Sensor_UV.get(2), ItemList.Electric_Pump_UV.get(2), GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.NaquadahAlloy, 4), GT_Utility.getIntegratedCircuit(2)}, null, CustomItemList.eM_energyTunnel2_UV.get(1), 2000, 500000); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_MAX.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2), ItemList.Sensor_UHV.get(2), ItemList.Electric_Pump_UHV.get(2), GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Bedrockium, 4), GT_Utility.getIntegratedCircuit(2)}, null, CustomItemList.eM_energyTunnel2_UHV.get(1), 2000, 2000000); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("Hull_UEV").get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2), ItemList.Sensor_UEV.get(2), ItemList.Electric_Pump_UEV.get(2), GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Draconium, 4), GT_Utility.getIntegratedCircuit(2)}, null, CustomItemList.eM_energyTunnel2_UEV.get(1), 2000, 8000000); - + //Laser Target IV-UEV 4096/t GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_IV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4), ItemList.Sensor_IV.get(4), ItemList.Electric_Pump_IV.get(4), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.TungstenSteel, 4), GT_Utility.getIntegratedCircuit(3)}, null, CustomItemList.eM_energyTunnel3_IV.get(1), 4000, 7680); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_LuV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4), ItemList.Sensor_LuV.get(4), ItemList.Electric_Pump_LuV.get(4), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.VanadiumGallium, 4), GT_Utility.getIntegratedCircuit(3)}, null, CustomItemList.eM_energyTunnel3_LuV.get(1), 4000, 30720); @@ -300,7 +353,7 @@ public class DreamCraftRecipeLoader implements Runnable { GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_UV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4), ItemList.Sensor_UV.get(4), ItemList.Electric_Pump_UV.get(4), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.NaquadahAlloy, 4), GT_Utility.getIntegratedCircuit(3)}, null, CustomItemList.eM_energyTunnel3_UV.get(1), 4000, 500000); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_MAX.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4), ItemList.Sensor_UHV.get(4), ItemList.Electric_Pump_UHV.get(4), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Bedrockium, 4), GT_Utility.getIntegratedCircuit(3)}, null, CustomItemList.eM_energyTunnel3_UHV.get(1), 4000, 2000000); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("Hull_UEV").get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4), ItemList.Sensor_UEV.get(4), ItemList.Electric_Pump_UEV.get(4), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Draconium, 4), GT_Utility.getIntegratedCircuit(3)}, null, CustomItemList.eM_energyTunnel3_UEV.get(1), 4000, 8000000); - + //Laser Target IV-UEV 16384/t GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_IV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 8), ItemList.Sensor_IV.get(8), ItemList.Electric_Pump_IV.get(8), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.TungstenSteel, 8), GT_Utility.getIntegratedCircuit(4)}, null, CustomItemList.eM_energyTunnel4_IV.get(1), 8000, 7680); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_LuV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 8), ItemList.Sensor_LuV.get(8), ItemList.Electric_Pump_LuV.get(8), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.VanadiumGallium, 8), GT_Utility.getIntegratedCircuit(4)}, null, CustomItemList.eM_energyTunnel4_LuV.get(1), 8000, 30720); @@ -308,7 +361,7 @@ public class DreamCraftRecipeLoader implements Runnable { GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_UV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 8), ItemList.Sensor_UV.get(8), ItemList.Electric_Pump_UV.get(8), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.NaquadahAlloy, 8), GT_Utility.getIntegratedCircuit(4)}, null, CustomItemList.eM_energyTunnel4_UV.get(1), 8000, 500000); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_MAX.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 8), ItemList.Sensor_UHV.get(8), ItemList.Electric_Pump_UHV.get(8), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Bedrockium, 8), GT_Utility.getIntegratedCircuit(4)}, null, CustomItemList.eM_energyTunnel4_UHV.get(1), 8000, 2000000); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("Hull_UEV").get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 8), ItemList.Sensor_UEV.get(8), ItemList.Electric_Pump_UEV.get(8), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Draconium, 8), GT_Utility.getIntegratedCircuit(4)}, null, CustomItemList.eM_energyTunnel4_UEV.get(1), 8000, 8000000); - + //Laser Target IV-UEV 65536/t GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_IV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16), ItemList.Sensor_IV.get(16), ItemList.Electric_Pump_IV.get(16), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.TungstenSteel, 8), GT_Utility.getIntegratedCircuit(5)}, null, CustomItemList.eM_energyTunnel5_IV.get(1), 16000, 7680); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_LuV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16), ItemList.Sensor_LuV.get(16), ItemList.Electric_Pump_LuV.get(16), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.VanadiumGallium, 8), GT_Utility.getIntegratedCircuit(5)}, null, CustomItemList.eM_energyTunnel5_LuV.get(1), 16000, 30720); @@ -316,7 +369,7 @@ public class DreamCraftRecipeLoader implements Runnable { GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_UV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16), ItemList.Sensor_UV.get(16), ItemList.Electric_Pump_UV.get(16), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.NaquadahAlloy, 8), GT_Utility.getIntegratedCircuit(5)}, null, CustomItemList.eM_energyTunnel5_UV.get(1), 16000, 500000); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_MAX.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16), ItemList.Sensor_UHV.get(16), ItemList.Electric_Pump_UHV.get(16), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Bedrockium, 8), GT_Utility.getIntegratedCircuit(5)}, null, CustomItemList.eM_energyTunnel5_UHV.get(1), 16000, 2000000); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("Hull_UEV").get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16), ItemList.Sensor_UEV.get(16), ItemList.Electric_Pump_UEV.get(16), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Draconium, 8), GT_Utility.getIntegratedCircuit(5)}, null, CustomItemList.eM_energyTunnel5_UEV.get(1), 16000, 8000000); - + //Laser Target IV-UEV 262144/t GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_IV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32), ItemList.Sensor_IV.get(32), ItemList.Electric_Pump_IV.get(32), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.TungstenSteel, 16), GT_Utility.getIntegratedCircuit(6)}, null, CustomItemList.eM_energyTunnel6_IV.get(1), 32000, 7680); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_LuV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32), ItemList.Sensor_LuV.get(32), ItemList.Electric_Pump_LuV.get(32), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.VanadiumGallium, 16), GT_Utility.getIntegratedCircuit(6)}, null, CustomItemList.eM_energyTunnel6_LuV.get(1), 32000, 30720); @@ -324,7 +377,7 @@ public class DreamCraftRecipeLoader implements Runnable { GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_UV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32), ItemList.Sensor_UV.get(32), ItemList.Electric_Pump_UV.get(32), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.NaquadahAlloy, 16), GT_Utility.getIntegratedCircuit(6)}, null, CustomItemList.eM_energyTunnel6_UV.get(1), 32000, 500000); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_MAX.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32), ItemList.Sensor_UHV.get(32), ItemList.Electric_Pump_UHV.get(32), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Bedrockium, 16), GT_Utility.getIntegratedCircuit(6)}, null, CustomItemList.eM_energyTunnel6_UHV.get(1), 32000, 2000000); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("Hull_UEV").get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32), ItemList.Sensor_UEV.get(32), ItemList.Electric_Pump_UEV.get(32), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Draconium, 16), GT_Utility.getIntegratedCircuit(6)}, null, CustomItemList.eM_energyTunnel6_UEV.get(1), 32000, 8000000); - + //Laser Target IV-UEV 1048576/t GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_IV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64), ItemList.Sensor_IV.get(64), ItemList.Electric_Pump_IV.get(64), GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.TungstenSteel, 16), GT_Utility.getIntegratedCircuit(7)}, null, CustomItemList.eM_energyTunnel7_IV.get(1), 64000, 7680); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_LuV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64), ItemList.Sensor_LuV.get(64), ItemList.Electric_Pump_LuV.get(64), GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.VanadiumGallium, 16), GT_Utility.getIntegratedCircuit(7)}, null, CustomItemList.eM_energyTunnel7_LuV.get(1), 64000, 30720); @@ -332,7 +385,7 @@ public class DreamCraftRecipeLoader implements Runnable { GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_UV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64), ItemList.Sensor_UV.get(64), ItemList.Electric_Pump_UV.get(64), GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.NaquadahAlloy, 16), GT_Utility.getIntegratedCircuit(7)}, null, CustomItemList.eM_energyTunnel7_UV.get(1), 64000, 500000); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_MAX.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64), ItemList.Sensor_UHV.get(64), ItemList.Electric_Pump_UHV.get(64), GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.Bedrockium, 16), GT_Utility.getIntegratedCircuit(7)}, null, CustomItemList.eM_energyTunnel7_UHV.get(1), 64000, 2000000); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{getItemContainer("Hull_UEV").get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64), ItemList.Sensor_UEV.get(64), ItemList.Electric_Pump_UEV.get(64), GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.Draconium, 16), GT_Utility.getIntegratedCircuit(7)}, null, CustomItemList.eM_energyTunnel7_UEV.get(1), 64000, 8000000); - + //Data Input addAssemblerRecipeWithCleanroom(new ItemStack[]{ CustomItemList.eM_Computer_Casing.get(1), @@ -378,7 +431,7 @@ public class DreamCraftRecipeLoader implements Runnable { CustomItemList.eM_Computer_Casing.get(1), ItemList.Circuit_Masterquantumcomputer.get(1), CustomItemList.DATApipe.get(4), - ItemList.Cover_Screen.get(1 ), + ItemList.Cover_Screen.get(1), new ItemStack(Blocks.stone_button, 16), }, Materials.Iridium.getMolten(2592), CustomItemList.Parametrizer_Hatch.get(1), 800, 122880); //Uncertainty @@ -386,7 +439,7 @@ public class DreamCraftRecipeLoader implements Runnable { CustomItemList.eM_Computer_Casing.get(1), ItemList.Circuit_Ultimatecrystalcomputer.get(1), CustomItemList.DATApipe.get(16), - ItemList.Cover_Screen.get(1 ), + ItemList.Cover_Screen.get(1), new ItemStack(Blocks.stone_button, 16), }, Materials.Iridium.getMolten(2592), CustomItemList.Uncertainty_Hatch.get(1), 1200, 122880); @@ -412,10 +465,30 @@ public class DreamCraftRecipeLoader implements Runnable { ItemList.Field_Generator_UV.get(1) }, Materials.Osmiridium.getMolten(1296), CustomItemList.eM_muffler_UV.get(1), 800, 500000); + //Capacitor Hatch + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Hatch_Input_Bus_HV.get(1), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.NickelZincFerrite, 4), + GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.Gold, 4), + }, Materials.Silver.getMolten(576), CustomItemList.capacitor_Hatch.get(1), 800, 480); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Hatch_Output_Bus_HV.get(1), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.NickelZincFerrite, 4), + GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.Gold, 4), + }, Materials.Silver.getMolten(576), CustomItemList.capacitor_Hatch.get(1), 800, 480); + //endregion + //region multiblocks - //region multi blocks + //Tesla Tower + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + GT_ModHandler.getIC2Item("teslaCoil", 1), + CustomItemList.tM_TeslaSecondary.get(4), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.NickelZincFerrite, 4), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Advanced, 4), + ItemList.Upgrade_Overclocker.get(4), + }, Materials.Silver.getMolten(576), CustomItemList.Machine_Multi_TeslaCoil.get(1), 800, 480); //Microwave Grinder GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ @@ -477,7 +550,7 @@ public class DreamCraftRecipeLoader implements Runnable { //Matter Junction TT_recipeAdder.addResearchableAssemblylineRecipe(CustomItemList.Machine_Multi_Switch.get(1), - 8000,32, 500000, 4, new ItemStack[]{ + 8000, 32, 500000, 4, new ItemStack[]{ CustomItemList.Machine_Multi_Transformer.get(1), GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Naquadah, 4), ItemList.Robot_Arm_LuV.get(2), @@ -493,7 +566,7 @@ public class DreamCraftRecipeLoader implements Runnable { //Matter Quantizer TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Hatch_Input_UV.get(1), - 12000,32, 500000, 6, new ItemStack[]{ + 12000, 32, 500000, 6, new ItemStack[]{ CustomItemList.Machine_Multi_Transformer.get(1), GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Naquadah, 4), ItemList.Emitter_UV.get(2), @@ -508,7 +581,7 @@ public class DreamCraftRecipeLoader implements Runnable { //Matter DeQuantizer TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Hatch_Output_UV.get(1), - 12000,32, 500000, 6, new ItemStack[]{ + 12000, 32, 500000, 6, new ItemStack[]{ CustomItemList.Machine_Multi_Transformer.get(1), GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Naquadah, 4), ItemList.Sensor_UV.get(2), @@ -523,37 +596,37 @@ public class DreamCraftRecipeLoader implements Runnable { //Essentia Quantizer TT_recipeAdder.addResearchableAssemblylineRecipe(CustomItemList.Machine_Multi_MatterToEM.get(1), - 15000,32, 500000, 8, new ItemStack[]{ - CustomItemList.Machine_Multi_MatterToEM.get(1), - GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Neutronium, 4), - ItemList.Emitter_UV.get(2), - ItemList.Circuit_Wetwaresupercomputer.get(1), - GT_OreDictUnificator.get(OrePrefixes.cableGt02, Materials.Draconium, 2), - }, new FluidStack[]{ - Materials.UUMatter.getFluid(2000), - Materials.Void.getMolten(2592), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 4000), - Materials.Osmium.getMolten(1296), - }, CustomItemList.Machine_Multi_EssentiaToEM.get(1), 24000, 500000); + 15000, 32, 500000, 8, new ItemStack[]{ + CustomItemList.Machine_Multi_MatterToEM.get(1), + GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Neutronium, 4), + ItemList.Emitter_UV.get(2), + ItemList.Circuit_Wetwaresupercomputer.get(1), + GT_OreDictUnificator.get(OrePrefixes.cableGt02, Materials.Draconium, 2), + }, new FluidStack[]{ + Materials.UUMatter.getFluid(2000), + Materials.Void.getMolten(2592), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 4000), + Materials.Osmium.getMolten(1296), + }, CustomItemList.Machine_Multi_EssentiaToEM.get(1), 24000, 500000); //Essentia DeQuantizer TT_recipeAdder.addResearchableAssemblylineRecipe(CustomItemList.Machine_Multi_EMToMatter.get(1), - 15000,32, 500000, 8, new ItemStack[]{ - CustomItemList.Machine_Multi_EMToMatter.get(1), - GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Neutronium, 4), - ItemList.Sensor_UV.get(2), - ItemList.Circuit_Wetwaresupercomputer.get(1), - GT_OreDictUnificator.get(OrePrefixes.cableGt02, Materials.Draconium, 2), - }, new FluidStack[]{ - Materials.UUMatter.getFluid(2000), - Materials.Void.getMolten(2592), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 4000), - Materials.Osmium.getMolten(1296), - }, CustomItemList.Machine_Multi_EMToEssentia.get(1), 24000, 500000); + 15000, 32, 500000, 8, new ItemStack[]{ + CustomItemList.Machine_Multi_EMToMatter.get(1), + GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Neutronium, 4), + ItemList.Sensor_UV.get(2), + ItemList.Circuit_Wetwaresupercomputer.get(1), + GT_OreDictUnificator.get(OrePrefixes.cableGt02, Materials.Draconium, 2), + }, new FluidStack[]{ + Materials.UUMatter.getFluid(2000), + Materials.Void.getMolten(2592), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 4000), + Materials.Osmium.getMolten(1296), + }, CustomItemList.Machine_Multi_EMToEssentia.get(1), 24000, 500000); //EM Scanner TT_recipeAdder.addResearchableAssemblylineRecipe(CustomItemList.Machine_Multi_Research.get(1), - 150000,128, 500000, 16, new ItemStack[]{ + 150000, 128, 500000, 16, new ItemStack[]{ CustomItemList.Machine_Multi_EMjunction.get(1), CustomItemList.eM_Computer_Bus.get(4), ItemList.Field_Generator_UV.get(4), @@ -570,10 +643,10 @@ public class DreamCraftRecipeLoader implements Runnable { //Multi Infuser TT_recipeAdder.addResearchableAssemblylineRecipe(CustomItemList.Machine_Multi_Transformer.get(1), - 192000,512, 2000000, 32, new ItemStack[]{ + 192000, 512, 2000000, 32, new ItemStack[]{ CustomItemList.Machine_Multi_Transformer.get(1), CustomItemList.eM_Coil.get(8), - CustomItemList.eM_Power.get( 8), + CustomItemList.eM_Power.get(8), GT_OreDictUnificator.get(OrePrefixes.screw, Materials.NeodymiumMagnetic, 16), }, new FluidStack[]{ Materials.Electrum.getMolten(2592), @@ -583,158 +656,158 @@ public class DreamCraftRecipeLoader implements Runnable { //Motor UV-UHV TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Electric_Motor_UV.get(1L), - 24000, 32, 100000, 4, new ItemStack[]{ - GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.SamariumMagnetic, 4L), - GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.CosmicNeutronium, 8L), - GT_OreDictUnificator.get(OrePrefixes.ring, Materials.CosmicNeutronium, 8L), - GT_OreDictUnificator.get(OrePrefixes.round, Materials.CosmicNeutronium, 32L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Neutronium, 64L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Neutronium, 64L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Neutronium, 64L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Neutronium, 64L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Neutronium, 64L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Neutronium, 64L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Neutronium, 64L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Neutronium, 64L), - GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Bedrockium, 2L)}, new FluidStack[]{ - Materials.Naquadria.getMolten(2592), - Materials.SolderingAlloy.getMolten(2592), - Materials.Lubricant.getFluid(4000)}, ItemList.Electric_Motor_UHV.get(1L), 1000, 200000); + 24000, 32, 100000, 4, new ItemStack[]{ + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.SamariumMagnetic, 4L), + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.CosmicNeutronium, 8L), + GT_OreDictUnificator.get(OrePrefixes.ring, Materials.CosmicNeutronium, 8L), + GT_OreDictUnificator.get(OrePrefixes.round, Materials.CosmicNeutronium, 32L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Neutronium, 64L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Neutronium, 64L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Neutronium, 64L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Neutronium, 64L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Neutronium, 64L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Neutronium, 64L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Neutronium, 64L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Neutronium, 64L), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Bedrockium, 2L)}, new FluidStack[]{ + Materials.Naquadria.getMolten(2592), + Materials.SolderingAlloy.getMolten(2592), + Materials.Lubricant.getFluid(4000)}, ItemList.Electric_Motor_UHV.get(1L), 1000, 200000); TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Electric_Motor_UHV.get(1L), - 48000, 64, 2000000, 8, new ItemStack[]{ - GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.SamariumMagnetic, 8L), - GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.Infinity, 16L), - GT_OreDictUnificator.get(OrePrefixes.ring, Materials.Infinity, 8L), - GT_OreDictUnificator.get(OrePrefixes.round, Materials.Infinity, 32L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.CosmicNeutronium, 64L),//TODO Fusion T4 Material - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.CosmicNeutronium, 64L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.CosmicNeutronium, 64L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.CosmicNeutronium, 64L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.CosmicNeutronium, 64L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.CosmicNeutronium, 64L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.CosmicNeutronium, 64L), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.CosmicNeutronium, 64L), - GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Draconium, 2L)}, new FluidStack[]{ - Materials.Quantium.getMolten(2592), - Materials.SolderingAlloy.getMolten(5184), - Materials.Lubricant.getFluid(8000)}, ItemList.Electric_Motor_UEV.get(1L), 2000, 800000); + 48000, 64, 2000000, 8, new ItemStack[]{ + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.SamariumMagnetic, 8L), + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.Infinity, 16L), + GT_OreDictUnificator.get(OrePrefixes.ring, Materials.Infinity, 8L), + GT_OreDictUnificator.get(OrePrefixes.round, Materials.Infinity, 32L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.CosmicNeutronium, 64L),//TODO Fusion T4 Material + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.CosmicNeutronium, 64L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.CosmicNeutronium, 64L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.CosmicNeutronium, 64L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.CosmicNeutronium, 64L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.CosmicNeutronium, 64L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.CosmicNeutronium, 64L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.CosmicNeutronium, 64L), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Draconium, 2L)}, new FluidStack[]{ + Materials.Quantium.getMolten(2592), + Materials.SolderingAlloy.getMolten(5184), + Materials.Lubricant.getFluid(8000)}, ItemList.Electric_Motor_UEV.get(1L), 2000, 800000); //Pumps UV-UHV TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Electric_Pump_UV.get(1L), - 24000, 32, 100000, 4, new ItemStack[]{ - ItemList.Electric_Motor_UHV.get(1L), - GT_OreDictUnificator.get(OrePrefixes.pipeLarge, Materials.Neutronium, 2L), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.CosmicNeutronium, 4L), - GT_OreDictUnificator.get(OrePrefixes.screw, Materials.CosmicNeutronium, 16L), - GT_OreDictUnificator.get(OrePrefixes.ring, Materials.AnySyntheticRubber, 32L), - GT_OreDictUnificator.get(OrePrefixes.rotor, Materials.CosmicNeutronium, 4L), - GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Bedrockium, 2L)}, new FluidStack[]{ - Materials.Naquadria.getMolten(2592), - Materials.SolderingAlloy.getMolten(2592), - Materials.Lubricant.getFluid(4000)}, ItemList.Electric_Pump_UHV.get(1), 1000, 200000); + 24000, 32, 100000, 4, new ItemStack[]{ + ItemList.Electric_Motor_UHV.get(1L), + GT_OreDictUnificator.get(OrePrefixes.pipeLarge, Materials.Neutronium, 2L), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.CosmicNeutronium, 4L), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.CosmicNeutronium, 16L), + GT_OreDictUnificator.get(OrePrefixes.ring, Materials.AnySyntheticRubber, 32L), + GT_OreDictUnificator.get(OrePrefixes.rotor, Materials.CosmicNeutronium, 4L), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Bedrockium, 2L)}, new FluidStack[]{ + Materials.Naquadria.getMolten(2592), + Materials.SolderingAlloy.getMolten(2592), + Materials.Lubricant.getFluid(4000)}, ItemList.Electric_Pump_UHV.get(1), 1000, 200000); TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Electric_Pump_UHV.get(1L), - 48000, 64, 200000, 8, new ItemStack[]{ - ItemList.Electric_Motor_UEV.get(1L), - GT_OreDictUnificator.get(OrePrefixes.pipeLarge, Materials.NetherStar, 2L), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Infinity, 4L), - GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Infinity, 16L), - GT_OreDictUnificator.get(OrePrefixes.ring, (Materials.AnySyntheticRubber), 64L), - GT_OreDictUnificator.get(OrePrefixes.rotor, Materials.Infinity, 4L), - GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Draconium, 2L)}, new FluidStack[]{ - Materials.Quantium.getMolten(2592), - Materials.SolderingAlloy.getMolten(5184), - Materials.Lubricant.getFluid(8000)}, ItemList.Electric_Pump_UEV.get(1), 2000, 800000); + 48000, 64, 200000, 8, new ItemStack[]{ + ItemList.Electric_Motor_UEV.get(1L), + GT_OreDictUnificator.get(OrePrefixes.pipeLarge, Materials.NetherStar, 2L), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Infinity, 4L), + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Infinity, 16L), + GT_OreDictUnificator.get(OrePrefixes.ring, (Materials.AnySyntheticRubber), 64L), + GT_OreDictUnificator.get(OrePrefixes.rotor, Materials.Infinity, 4L), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Draconium, 2L)}, new FluidStack[]{ + Materials.Quantium.getMolten(2592), + Materials.SolderingAlloy.getMolten(5184), + Materials.Lubricant.getFluid(8000)}, ItemList.Electric_Pump_UEV.get(1), 2000, 800000); //Conveyor Belt UV-UHV TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Conveyor_Module_UV.get(1L), - 24000, 32, 100000, 4, new ItemStack[]{ - ItemList.Electric_Motor_UHV.get(2L), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.CosmicNeutronium, 2L), - GT_OreDictUnificator.get(OrePrefixes.ring, Materials.CosmicNeutronium, 8L), - GT_OreDictUnificator.get(OrePrefixes.round, Materials.CosmicNeutronium, 64L), - GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Bedrockium, 2L)}, new FluidStack[]{ - Materials.Naquadria.getMolten(2592), - Materials.SolderingAlloy.getMolten(2592), - Materials.Lubricant.getFluid(4000), - Materials.Silicone.getMolten(5760)}, ItemList.Conveyor_Module_UHV.get(1), 1000, 200000); + 24000, 32, 100000, 4, new ItemStack[]{ + ItemList.Electric_Motor_UHV.get(2L), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.CosmicNeutronium, 2L), + GT_OreDictUnificator.get(OrePrefixes.ring, Materials.CosmicNeutronium, 8L), + GT_OreDictUnificator.get(OrePrefixes.round, Materials.CosmicNeutronium, 64L), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Bedrockium, 2L)}, new FluidStack[]{ + Materials.Naquadria.getMolten(2592), + Materials.SolderingAlloy.getMolten(2592), + Materials.Lubricant.getFluid(4000), + Materials.Silicone.getMolten(5760)}, ItemList.Conveyor_Module_UHV.get(1), 1000, 200000); TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Conveyor_Module_UHV.get(1L), - 48000, 64, 200000, 8, new ItemStack[]{ - ItemList.Electric_Motor_UEV.get(2L), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Infinity, 2L), - GT_OreDictUnificator.get(OrePrefixes.ring, Materials.Infinity, 8L), - GT_OreDictUnificator.get(OrePrefixes.round, Materials.Infinity, 64L), - GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Draconium, 2L)}, new FluidStack[]{ - Materials.Quantium.getMolten(2592), - Materials.SolderingAlloy.getMolten(5184), - Materials.Lubricant.getFluid(8000), - Materials.Silicone.getMolten(11520)}, ItemList.Conveyor_Module_UEV.get(1), 2000, 800000); + 48000, 64, 200000, 8, new ItemStack[]{ + ItemList.Electric_Motor_UEV.get(2L), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Infinity, 2L), + GT_OreDictUnificator.get(OrePrefixes.ring, Materials.Infinity, 8L), + GT_OreDictUnificator.get(OrePrefixes.round, Materials.Infinity, 64L), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Draconium, 2L)}, new FluidStack[]{ + Materials.Quantium.getMolten(2592), + Materials.SolderingAlloy.getMolten(5184), + Materials.Lubricant.getFluid(8000), + Materials.Silicone.getMolten(11520)}, ItemList.Conveyor_Module_UEV.get(1), 2000, 800000); //Piston UV-UHV TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Electric_Piston_UV.get(1L), - 24000, 32, 100000, 4, new ItemStack[]{ - ItemList.Electric_Motor_UHV.get(1L), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.CosmicNeutronium, 6L), - GT_OreDictUnificator.get(OrePrefixes.ring, Materials.CosmicNeutronium, 8L), - GT_OreDictUnificator.get(OrePrefixes.round, Materials.CosmicNeutronium, 64L), - GT_OreDictUnificator.get(OrePrefixes.stick, Materials.CosmicNeutronium, 8L), - GT_OreDictUnificator.get(OrePrefixes.gear, Materials.CosmicNeutronium, 2L), - GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.CosmicNeutronium, 4L), - GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Bedrockium, 4L)}, new FluidStack[]{ - Materials.Naquadria.getMolten(2592), - Materials.SolderingAlloy.getMolten(2592), - Materials.Lubricant.getFluid(4000)}, ItemList.Electric_Piston_UHV.get(1), 1000, 200000); + 24000, 32, 100000, 4, new ItemStack[]{ + ItemList.Electric_Motor_UHV.get(1L), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.CosmicNeutronium, 6L), + GT_OreDictUnificator.get(OrePrefixes.ring, Materials.CosmicNeutronium, 8L), + GT_OreDictUnificator.get(OrePrefixes.round, Materials.CosmicNeutronium, 64L), + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.CosmicNeutronium, 8L), + GT_OreDictUnificator.get(OrePrefixes.gear, Materials.CosmicNeutronium, 2L), + GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.CosmicNeutronium, 4L), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Bedrockium, 4L)}, new FluidStack[]{ + Materials.Naquadria.getMolten(2592), + Materials.SolderingAlloy.getMolten(2592), + Materials.Lubricant.getFluid(4000)}, ItemList.Electric_Piston_UHV.get(1), 1000, 200000); TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Electric_Piston_UHV.get(1L), - 48000, 64, 200000, 8, new ItemStack[]{ - ItemList.Electric_Motor_UEV.get(1L), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Infinity, 6L), - GT_OreDictUnificator.get(OrePrefixes.ring, Materials.Infinity, 8L), - GT_OreDictUnificator.get(OrePrefixes.round, Materials.Infinity, 64L), - GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Infinity, 8L), - GT_OreDictUnificator.get(OrePrefixes.gear, Materials.Infinity, 2L), - GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.Infinity, 4L), - GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Draconium, 4L)}, new FluidStack[]{ - Materials.Quantium.getMolten(2592), - Materials.SolderingAlloy.getMolten(5184), - Materials.Lubricant.getFluid(8000)}, ItemList.Electric_Piston_UEV.get(1), 2000, 800000); + 48000, 64, 200000, 8, new ItemStack[]{ + ItemList.Electric_Motor_UEV.get(1L), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Infinity, 6L), + GT_OreDictUnificator.get(OrePrefixes.ring, Materials.Infinity, 8L), + GT_OreDictUnificator.get(OrePrefixes.round, Materials.Infinity, 64L), + GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Infinity, 8L), + GT_OreDictUnificator.get(OrePrefixes.gear, Materials.Infinity, 2L), + GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.Infinity, 4L), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Draconium, 4L)}, new FluidStack[]{ + Materials.Quantium.getMolten(2592), + Materials.SolderingAlloy.getMolten(5184), + Materials.Lubricant.getFluid(8000)}, ItemList.Electric_Piston_UEV.get(1), 2000, 800000); //Robot Arm UV-UHV TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Robot_Arm_UV.get(1L), - 24000, 32, 100000, 4, new Object[]{ - GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.CosmicNeutronium, 8L), - GT_OreDictUnificator.get(OrePrefixes.gear, Materials.CosmicNeutronium, 2L), - GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.CosmicNeutronium, 6L), - ItemList.Electric_Motor_UHV.get(2L), - ItemList.Electric_Piston_UHV.get(1L), + 24000, 32, 100000, 4, new Object[]{ + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.CosmicNeutronium, 8L), + GT_OreDictUnificator.get(OrePrefixes.gear, Materials.CosmicNeutronium, 2L), + GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.CosmicNeutronium, 6L), + ItemList.Electric_Motor_UHV.get(2L), + ItemList.Electric_Piston_UHV.get(1L), new Object[]{OrePrefixes.circuit.get(Materials.Infinite), 2L}, new Object[]{OrePrefixes.circuit.get(Materials.Superconductor), 4L}, new Object[]{OrePrefixes.circuit.get(Materials.Ultimate), 8L}, - GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Bedrockium, 6L)}, new FluidStack[]{ - Materials.Naquadria.getMolten(2592), - Materials.SolderingAlloy.getMolten(4608), - Materials.Lubricant.getFluid(4000)}, ItemList.Robot_Arm_UHV.get(1L), 1000, 200000); + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Bedrockium, 6L)}, new FluidStack[]{ + Materials.Naquadria.getMolten(2592), + Materials.SolderingAlloy.getMolten(4608), + Materials.Lubricant.getFluid(4000)}, ItemList.Robot_Arm_UHV.get(1L), 1000, 200000); TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Robot_Arm_UHV.get(1L), - 48000, 64, 200000, 8, new Object[]{ - GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.Infinity, 8L), - GT_OreDictUnificator.get(OrePrefixes.gear, Materials.Infinity, 2L), - GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.Infinity, 6L), - ItemList.Electric_Motor_UEV.get(2L), - ItemList.Electric_Piston_UEV.get(1L), + 48000, 64, 200000, 8, new Object[]{ + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.Infinity, 8L), + GT_OreDictUnificator.get(OrePrefixes.gear, Materials.Infinity, 2L), + GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.Infinity, 6L), + ItemList.Electric_Motor_UEV.get(2L), + ItemList.Electric_Piston_UEV.get(1L), new Object[]{OrePrefixes.circuit.get(Materials.Bio), 2L}, new Object[]{OrePrefixes.circuit.get(Materials.Infinite), 4L}, new Object[]{OrePrefixes.circuit.get(Materials.Superconductor), 8L}, - GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Draconium, 6L)}, new FluidStack[]{ - Materials.Quantium.getMolten(2592), - Materials.SolderingAlloy.getMolten(9216), - Materials.Lubricant.getFluid(8000)}, ItemList.Robot_Arm_UEV.get(1L), 2000, 800000); + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Draconium, 6L)}, new FluidStack[]{ + Materials.Quantium.getMolten(2592), + Materials.SolderingAlloy.getMolten(9216), + Materials.Lubricant.getFluid(8000)}, ItemList.Robot_Arm_UEV.get(1L), 2000, 800000); //Emitter UV-UHV TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Emitter_UV.get(1L), - 24000, 32, 100000, 4, new Object[]{ + 24000, 32, 100000, 4, new Object[]{ GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.CosmicNeutronium, 1L), ItemList.Electric_Motor_UHV.get(1L), GT_OreDictUnificator.get(OrePrefixes.stick, Materials.CosmicNeutronium, 8L), @@ -750,7 +823,7 @@ public class DreamCraftRecipeLoader implements Runnable { ItemList.Emitter_UHV.get(1L), 1000, 200000); TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Emitter_UHV.get(1L), - 48000, 64, 200000, 8, new Object[]{ + 48000, 64, 200000, 8, new Object[]{ GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Infinity, 1L), ItemList.Electric_Motor_UEV.get(1L), GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Infinity, 16L), @@ -767,7 +840,7 @@ public class DreamCraftRecipeLoader implements Runnable { //Sensor UV-UHV TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Sensor_UV.get(1L), - 24000, 32, 100000, 4, new Object[]{ + 24000, 32, 100000, 4, new Object[]{ GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.CosmicNeutronium, 1L), ItemList.Electric_Motor_UHV.get(1L), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.CosmicNeutronium, 8L), @@ -783,7 +856,7 @@ public class DreamCraftRecipeLoader implements Runnable { ItemList.Sensor_UHV.get(1L), 1000, 200000); TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Sensor_UHV.get(1L), - 48000, 64, 200000, 8, new Object[]{ + 48000, 64, 200000, 8, new Object[]{ GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Infinity, 1L), ItemList.Electric_Motor_UEV.get(1), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Infinity, 8L), @@ -800,7 +873,7 @@ public class DreamCraftRecipeLoader implements Runnable { //Fieldgen UV and UHV TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Field_Generator_UV.get(1), - 48000, 64, 200000, 8, new Object[]{ + 48000, 64, 200000, 8, new Object[]{ GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.CosmicNeutronium, 1L), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.CosmicNeutronium, 6L), new Object[]{OrePrefixes.circuit.get(Materials.Bio), 4L}, @@ -819,7 +892,7 @@ public class DreamCraftRecipeLoader implements Runnable { ItemList.Field_Generator_UHV.get(1L), 2000, 200000); TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Field_Generator_UHV.get(1L), - 96000, 128, 400000, 16, new Object[]{ + 96000, 128, 400000, 16, new Object[]{ GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Infinity, 1L), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Infinity, 6L), new Object[]{OrePrefixes.circuit.get(Materials.Bio), 8L}, @@ -839,7 +912,7 @@ public class DreamCraftRecipeLoader implements Runnable { //UHV Energy Hatch TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Hatch_Energy_UV.get(1L), - 24000, 16, 50000, 2, new Object[]{ + 24000, 16, 50000, 2, new Object[]{ ItemList.Hull_MAX.get(1L), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.SuperconductorUHV, 2L), ItemList.Circuit_Chip_QPIC.get(2L), @@ -860,7 +933,7 @@ public class DreamCraftRecipeLoader implements Runnable { }, ItemList.Hatch_Energy_MAX.get(1L), 1000, 2000000); TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Hatch_Dynamo_UV.get(1L), - 48000, 32, 100000, 4, new Object[]{ + 48000, 32, 100000, 4, new Object[]{ ItemList.Hull_MAX.get(1L), GT_OreDictUnificator.get(OrePrefixes.spring, Materials.Longasssuperconductornameforuhvwire, 8L), ItemList.Circuit_Chip_QPIC.get(2L), @@ -882,26 +955,26 @@ public class DreamCraftRecipeLoader implements Runnable { //UHV Circuit TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Circuit_Wetwaresupercomputer.get(1L), - 24000, 64, 50000, 4, new ItemStack[]{ - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Tritanium, 2), - ItemList.Circuit_Wetwaresupercomputer.get(2L), - ItemList.ZPM_Coil.get(16L), - ItemList.Circuit_Parts_CapacitorSMD.get(64L), - ItemList.Circuit_Parts_ResistorSMD.get(64L), - ItemList.Circuit_Parts_TransistorSMD.get(64L), - ItemList.Circuit_Parts_DiodeSMD.get(64L), - ItemList.Circuit_Chip_Ram.get(48L), - GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorZPM, 64L), - GT_OreDictUnificator.get(OrePrefixes.foil, (Materials.AnySyntheticRubber), 64L), - }, new FluidStack[]{ - Materials.SolderingAlloy.getMolten(2880L), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 10000), - Materials.Radon.getGas(2500L), - }, ItemList.Circuit_Wetwaremainframe.get(1L), 2000, 300000); + 24000, 64, 50000, 4, new ItemStack[]{ + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Tritanium, 2), + ItemList.Circuit_Wetwaresupercomputer.get(2L), + ItemList.ZPM_Coil.get(16L), + ItemList.Circuit_Parts_CapacitorSMD.get(64L), + ItemList.Circuit_Parts_ResistorSMD.get(64L), + ItemList.Circuit_Parts_TransistorSMD.get(64L), + ItemList.Circuit_Parts_DiodeSMD.get(64L), + ItemList.Circuit_Chip_Ram.get(48L), + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorZPM, 64L), + GT_OreDictUnificator.get(OrePrefixes.foil, (Materials.AnySyntheticRubber), 64L), + }, new FluidStack[]{ + Materials.SolderingAlloy.getMolten(2880L), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 10000), + Materials.Radon.getGas(2500L), + }, ItemList.Circuit_Wetwaremainframe.get(1L), 2000, 300000); //Bio Chips TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Circuit_Biowarecomputer.get(1L), - 48000, 128, 500000, 8, new ItemStack[]{ + 48000, 128, 500000, 8, new ItemStack[]{ ItemList.Circuit_Board_Bio_Ultra.get(2L), ItemList.Circuit_Biowarecomputer.get(2L), ItemList.Circuit_Parts_TransistorSMD.get(16L), @@ -920,7 +993,7 @@ public class DreamCraftRecipeLoader implements Runnable { ItemList.Circuit_Biowaresupercomputer.get(1L), 4000, 500000); TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Circuit_Biowaresupercomputer.get(1L), - 96000, 256, 1000000, 16, new ItemStack[]{ + 96000, 256, 1000000, 16, new ItemStack[]{ GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Tritanium, 4L), ItemList.Circuit_Biowaresupercomputer.get(2L), ItemList.UV_Coil.get(16L), @@ -940,69 +1013,69 @@ public class DreamCraftRecipeLoader implements Runnable { //GTNH Circuits TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Circuit_Biomainframe.get(1L), - 192000, 512, 2000000, 32, new ItemStack[]{ - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Tritanium, 8), - ItemList.Circuit_Biomainframe.get(2L), - ItemList.Circuit_Parts_CapacitorSMD.get(64L), - ItemList.Circuit_Parts_ResistorSMD.get(64L), - ItemList.Circuit_Parts_TransistorSMD.get(64L), - ItemList.Circuit_Parts_DiodeSMD.get(64L), - ItemList.Circuit_Chip_Ram.get(64L), - ItemList.Circuit_Chip_NPIC.get(64L), - GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Draconium, 64), - GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.SuperconductorUHV, 64), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Silicone, 64), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Polybenzimidazole, 64) - }, new FluidStack[]{ - Materials.SolderingAlloy.getMolten(3760L), - Materials.Naquadria.getMolten(4032L), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 20000) - }, getItemContainer("NanoCircuit").get(1L), 8000, 8000000); + 192000, 512, 2000000, 32, new ItemStack[]{ + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Tritanium, 8), + ItemList.Circuit_Biomainframe.get(2L), + ItemList.Circuit_Parts_CapacitorSMD.get(64L), + ItemList.Circuit_Parts_ResistorSMD.get(64L), + ItemList.Circuit_Parts_TransistorSMD.get(64L), + ItemList.Circuit_Parts_DiodeSMD.get(64L), + ItemList.Circuit_Chip_Ram.get(64L), + ItemList.Circuit_Chip_NPIC.get(64L), + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Draconium, 64), + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.SuperconductorUHV, 64), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Silicone, 64), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Polybenzimidazole, 64) + }, new FluidStack[]{ + Materials.SolderingAlloy.getMolten(3760L), + Materials.Naquadria.getMolten(4032L), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 20000) + }, getItemContainer("NanoCircuit").get(1L), 8000, 8000000); TT_recipeAdder.addResearchableAssemblylineRecipe(getItemContainer("PicoWafer").get(1), - 384000, 1024, 4000000, 64, new ItemStack[]{ - ItemList.Circuit_Board_Bio_Ultra.get(1L), - getItemContainer("PicoWafer").get(4L), - getItemContainer("NanoCircuit").get(2L), - ItemList.Circuit_Parts_TransistorSMD.get(64L), - ItemList.Circuit_Parts_ResistorSMD.get(64L), - ItemList.Circuit_Parts_CapacitorSMD.get(64L), - ItemList.Circuit_Parts_DiodeSMD.get(64L), - ItemList.Circuit_Chip_PPIC.get(64L), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.NiobiumTitanium, 16), - GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.Osmium, 32), - GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.Neutronium, 16), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Lanthanum, 64) - }, new FluidStack[]{ - Materials.SolderingAlloy.getMolten(3760L), - Materials.UUMatter.getFluid(8000L), - Materials.Osmium.getMolten(1152L) - }, getItemContainer("PikoCircuit").get(1L), 10000, 8000000); + 384000, 1024, 4000000, 64, new ItemStack[]{ + ItemList.Circuit_Board_Bio_Ultra.get(1L), + getItemContainer("PicoWafer").get(4L), + getItemContainer("NanoCircuit").get(2L), + ItemList.Circuit_Parts_TransistorSMD.get(64L), + ItemList.Circuit_Parts_ResistorSMD.get(64L), + ItemList.Circuit_Parts_CapacitorSMD.get(64L), + ItemList.Circuit_Parts_DiodeSMD.get(64L), + ItemList.Circuit_Chip_PPIC.get(64L), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.NiobiumTitanium, 16), + GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.Osmium, 32), + GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.Neutronium, 16), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Lanthanum, 64) + }, new FluidStack[]{ + Materials.SolderingAlloy.getMolten(3760L), + Materials.UUMatter.getFluid(8000L), + Materials.Osmium.getMolten(1152L) + }, getItemContainer("PikoCircuit").get(1L), 10000, 8000000); TT_recipeAdder.addResearchableAssemblylineRecipe(getItemContainer("PikoCircuit").get(1L), - 720000, 2048, 8000000, 128, new ItemStack[]{ - GT_OreDictUnificator.get(OrePrefixes.frameGt,Materials.Neutronium, 16), - getItemContainer("PikoCircuit").get(8L), - ItemList.Circuit_Parts_CapacitorSMD.get(64L), - ItemList.Circuit_Parts_DiodeSMD.get(64L), - ItemList.Circuit_Parts_TransistorSMD.get(64L), - ItemList.Circuit_Parts_ResistorSMD.get(64L), - ItemList.Circuit_Chip_QPIC.get(64L), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.NiobiumTitanium, 64), - GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.Indium, 64), - GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Bedrockium, 8), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Lanthanum, 64) - }, new FluidStack[]{ - Materials.SolderingAlloy.getMolten(3760L), - Materials.UUMatter.getFluid(24000L), - Materials.Osmium.getMolten(2304L) - }, getItemContainer("QuantumCircuit").get(1L), 20000, 32000000); + 720000, 2048, 8000000, 128, new ItemStack[]{ + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Neutronium, 16), + getItemContainer("PikoCircuit").get(8L), + ItemList.Circuit_Parts_CapacitorSMD.get(64L), + ItemList.Circuit_Parts_DiodeSMD.get(64L), + ItemList.Circuit_Parts_TransistorSMD.get(64L), + ItemList.Circuit_Parts_ResistorSMD.get(64L), + ItemList.Circuit_Chip_QPIC.get(64L), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.NiobiumTitanium, 64), + GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.Indium, 64), + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Bedrockium, 8), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Lanthanum, 64) + }, new FluidStack[]{ + Materials.SolderingAlloy.getMolten(3760L), + Materials.UUMatter.getFluid(24000L), + Materials.Osmium.getMolten(2304L) + }, getItemContainer("QuantumCircuit").get(1L), 20000, 32000000); //Stargate Stuff - if (Loader.isModLoaded("eternalsingularity")&&Loader.isModLoaded("SGCraft")) { + if (Loader.isModLoaded("eternalsingularity") && Loader.isModLoaded("SGCraft")) { TT_recipeAdder.addResearchableAssemblylineRecipe(GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Infinity, 1L), - 192000, 512, 2000000, 32, new ItemStack[]{ + 192000, 512, 2000000, 32, new ItemStack[]{ GT_ModHandler.getModItem("eternalsingularity", "eternal_singularity", 1L), ItemList.Sensor_UV.get(16L), GT_OreDictUnificator.get(OrePrefixes.block, Materials.Infinity, 16L), @@ -1021,7 +1094,7 @@ public class DreamCraftRecipeLoader implements Runnable { getItemContainer("StargateShieldingFoil").get(1L), 72000, 2000000); TT_recipeAdder.addResearchableAssemblylineRecipe(getItemContainer("StargateShieldingFoil").get(1L), - 192000, 512, 2000000, 32, new ItemStack[]{ + 192000, 512, 2000000, 32, new ItemStack[]{ ItemList.Electric_Piston_UV.get(16L), ItemList.Electric_Motor_UV.get(64L), GT_OreDictUnificator.get(OrePrefixes.block, Materials.Infinity, 16L), @@ -1043,7 +1116,7 @@ public class DreamCraftRecipeLoader implements Runnable { getItemContainer("StargateChevron").get(1L), 72000, 2000000); TT_recipeAdder.addResearchableAssemblylineRecipe(GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Neutronium, 1L), - 192000, 512, 2000000, 32, new ItemStack[]{ + 192000, 512, 2000000, 32, new ItemStack[]{ GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.Infinity, 64L), GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.NaquadahAlloy, 64L), GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.CosmicNeutronium, 64L), @@ -1058,7 +1131,7 @@ public class DreamCraftRecipeLoader implements Runnable { getItemContainer("StargateFramePart").get(1L), 72000, 2000000); //Batteries - TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Energy_Cluster.get(1L),12000,16,100000,3,new Object[]{ + TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Energy_Cluster.get(1L), 12000, 16, 100000, 3, new Object[]{ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Tritanium, 64L), new Object[]{OrePrefixes.circuit.get(Materials.Infinite), 4L}, ItemList.Energy_Cluster.get(8L), @@ -1072,7 +1145,7 @@ public class DreamCraftRecipeLoader implements Runnable { new FluidStack(FluidRegistry.getFluid("ic2coolant"), 16000) }, ItemList.ZPM2.get(1), 3000, 400000); - TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.ZPM2.get(1L),24000,64,200000,6,new Object[]{ + TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.ZPM2.get(1L), 24000, 64, 200000, 6, new Object[]{ GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Neutronium, 32L), GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Neutronium, 32L), new Object[]{OrePrefixes.circuit.get(Materials.Bio), 4L}, @@ -1091,35 +1164,479 @@ public class DreamCraftRecipeLoader implements Runnable { } //endregion + //region singleblocks + + //Tesla Transceiver LV 1A + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_1by1_LV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.Lead.getMolten(576), + CustomItemList.Machine_TeslaCoil_1by1_LV.get(1), 400, 30); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_1by1_LV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.Tin.getMolten(288), + CustomItemList.Machine_TeslaCoil_1by1_LV.get(1), 400, 30); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_1by1_LV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.SolderingAlloy.getMolten(144), + CustomItemList.Machine_TeslaCoil_1by1_LV.get(1), 400, 30); + //Tesla Transceiver MV 1A + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_1by1_MV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.Lead.getMolten(576), + CustomItemList.Machine_TeslaCoil_1by1_MV.get(1), 400, 120); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_1by1_MV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.Tin.getMolten(288), + CustomItemList.Machine_TeslaCoil_1by1_MV.get(1), 400, 120); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_1by1_MV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.SolderingAlloy.getMolten(144), + CustomItemList.Machine_TeslaCoil_1by1_MV.get(1), 400, 120); + //Tesla Transceiver HV 1A + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_1by1_HV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.Lead.getMolten(576), + CustomItemList.Machine_TeslaCoil_1by1_HV.get(1), 400, 480); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_1by1_HV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.Tin.getMolten(288), + CustomItemList.Machine_TeslaCoil_1by1_HV.get(1), 400, 480); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_1by1_HV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.SolderingAlloy.getMolten(144), + CustomItemList.Machine_TeslaCoil_1by1_HV.get(1), 400, 480); + //Tesla Transceiver EV 1A + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_1by1_EV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.Lead.getMolten(576), + CustomItemList.Machine_TeslaCoil_1by1_EV.get(1), 400, 1920); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_1by1_EV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.Tin.getMolten(288), + CustomItemList.Machine_TeslaCoil_1by1_EV.get(1), 400, 1920); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_1by1_EV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.SolderingAlloy.getMolten(144), + CustomItemList.Machine_TeslaCoil_1by1_EV.get(1), 400, 1920); + //Tesla Transceiver IV 1A + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_1by1_IV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.Lead.getMolten(576), + CustomItemList.Machine_TeslaCoil_1by1_IV.get(1), 400, 7680); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_1by1_IV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.Tin.getMolten(288), + CustomItemList.Machine_TeslaCoil_1by1_IV.get(1), 400, 7680); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_1by1_IV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.SolderingAlloy.getMolten(144), + CustomItemList.Machine_TeslaCoil_1by1_IV.get(1), 400, 7680); + //Tesla Transceiver LV 4A + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_2by2_LV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.Lead.getMolten(576), + CustomItemList.Machine_TeslaCoil_2by2_LV.get(1), 400, 30); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_2by2_LV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.Tin.getMolten(288), + CustomItemList.Machine_TeslaCoil_2by2_LV.get(1), 400, 30); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_2by2_LV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.SolderingAlloy.getMolten(144), + CustomItemList.Machine_TeslaCoil_2by2_LV.get(1), 400, 30); + //Tesla Transceiver MV 4A + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_2by2_MV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.Lead.getMolten(576), + CustomItemList.Machine_TeslaCoil_2by2_MV.get(1), 400, 120); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_2by2_MV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.Tin.getMolten(288), + CustomItemList.Machine_TeslaCoil_2by2_MV.get(1), 400, 120); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_2by2_MV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.SolderingAlloy.getMolten(144), + CustomItemList.Machine_TeslaCoil_2by2_MV.get(1), 400, 120); + //Tesla Transceiver HV 4A + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_2by2_HV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.Lead.getMolten(576), + CustomItemList.Machine_TeslaCoil_2by2_HV.get(1), 400, 480); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_2by2_HV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.Tin.getMolten(288), + CustomItemList.Machine_TeslaCoil_2by2_HV.get(1), 400, 480); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_2by2_HV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.SolderingAlloy.getMolten(144), + CustomItemList.Machine_TeslaCoil_2by2_HV.get(1), 400, 480); + //Tesla Transceiver EV 4A + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_2by2_EV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.Lead.getMolten(576), + CustomItemList.Machine_TeslaCoil_2by2_EV.get(1), 400, 1920); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_2by2_EV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.Tin.getMolten(288), + CustomItemList.Machine_TeslaCoil_2by2_EV.get(1), 400, 1920); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_2by2_EV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.SolderingAlloy.getMolten(144), + CustomItemList.Machine_TeslaCoil_2by2_EV.get(1), 400, 1920); + //Tesla Transceiver IV 4A + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_2by2_IV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.Lead.getMolten(576), + CustomItemList.Machine_TeslaCoil_2by2_IV.get(1), 400, 7680); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_2by2_IV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.Tin.getMolten(288), + CustomItemList.Machine_TeslaCoil_2by2_IV.get(1), 400, 7680); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_2by2_IV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.SolderingAlloy.getMolten(144), + CustomItemList.Machine_TeslaCoil_2by2_IV.get(1), 400, 7680); + //Tesla Transceiver LV 9A + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_3by3_LV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.Lead.getMolten(576), + CustomItemList.Machine_TeslaCoil_3by3_LV.get(1), 400, 30); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_3by3_LV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.Tin.getMolten(288), + CustomItemList.Machine_TeslaCoil_3by3_LV.get(1), 400, 30); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_3by3_LV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.SolderingAlloy.getMolten(144), + CustomItemList.Machine_TeslaCoil_3by3_LV.get(1), 400, 30); + //Tesla Transceiver MV 9A + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_3by3_MV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.Lead.getMolten(576), + CustomItemList.Machine_TeslaCoil_3by3_MV.get(1), 400, 120); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_3by3_LV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.Tin.getMolten(288), + CustomItemList.Machine_TeslaCoil_3by3_MV.get(1), 400, 120); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_3by3_MV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.SolderingAlloy.getMolten(144), + CustomItemList.Machine_TeslaCoil_3by3_MV.get(1), 400, 120); + //Tesla Transceiver HV 9A + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_3by3_HV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.Lead.getMolten(576), + CustomItemList.Machine_TeslaCoil_3by3_HV.get(1), 400, 480); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_3by3_HV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.Tin.getMolten(288), + CustomItemList.Machine_TeslaCoil_3by3_HV.get(1), 400, 480); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_3by3_HV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.SolderingAlloy.getMolten(144), + CustomItemList.Machine_TeslaCoil_3by3_HV.get(1), 400, 480); + //Tesla Transceiver EV 9A + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_3by3_EV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.Lead.getMolten(576), + CustomItemList.Machine_TeslaCoil_3by3_EV.get(1), 400, 1920); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_3by3_EV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.Tin.getMolten(288), + CustomItemList.Machine_TeslaCoil_3by3_EV.get(1), 400, 1920); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_3by3_EV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.SolderingAlloy.getMolten(144), + CustomItemList.Machine_TeslaCoil_3by3_EV.get(1), 400, 1920); + //Tesla Transceiver IV 9A + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_3by3_IV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.Lead.getMolten(576), + CustomItemList.Machine_TeslaCoil_3by3_IV.get(1), 400, 7680); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_3by3_IV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.Tin.getMolten(288), + CustomItemList.Machine_TeslaCoil_3by3_IV.get(1), 400, 7680); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_3by3_IV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.SolderingAlloy.getMolten(144), + CustomItemList.Machine_TeslaCoil_3by3_IV.get(1), 400, 7680); + //Tesla Transceiver LV 16A + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_4by4_LV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.Lead.getMolten(576), + CustomItemList.Machine_TeslaCoil_4by4_LV.get(1), 400, 30); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_4by4_LV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.Tin.getMolten(288), + CustomItemList.Machine_TeslaCoil_4by4_LV.get(1), 400, 30); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_4by4_LV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.SolderingAlloy.getMolten(144), + CustomItemList.Machine_TeslaCoil_4by4_LV.get(1), 400, 30); + //Tesla Transceiver MV 16A + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_4by4_MV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.Lead.getMolten(576), + CustomItemList.Machine_TeslaCoil_4by4_MV.get(1), 400, 120); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_4by4_MV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.Tin.getMolten(288), + CustomItemList.Machine_TeslaCoil_4by4_MV.get(1), 400, 120); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_4by4_MV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.SolderingAlloy.getMolten(144), + CustomItemList.Machine_TeslaCoil_4by4_MV.get(1), 400, 120); + //Tesla Transceiver HV 16A + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_4by4_HV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.Lead.getMolten(576), + CustomItemList.Machine_TeslaCoil_4by4_HV.get(1), 400, 480); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_4by4_HV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.Tin.getMolten(288), + CustomItemList.Machine_TeslaCoil_4by4_HV.get(1), 400, 480); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_4by4_HV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.SolderingAlloy.getMolten(144), + CustomItemList.Machine_TeslaCoil_4by4_HV.get(1), 400, 480); + //Tesla Transceiver EV 16A + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_4by4_EV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.Lead.getMolten(576), + CustomItemList.Machine_TeslaCoil_4by4_EV.get(1), 400, 1920); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_4by4_EV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.Tin.getMolten(288), + CustomItemList.Machine_TeslaCoil_4by4_EV.get(1), 400, 1920); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_4by4_EV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.SolderingAlloy.getMolten(144), + CustomItemList.Machine_TeslaCoil_4by4_EV.get(1), 400, 1920); + //Tesla Transceiver IV 16A + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_4by4_IV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.Lead.getMolten(576), + CustomItemList.Machine_TeslaCoil_4by4_IV.get(1), 400, 7680); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_4by4_IV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.Tin.getMolten(288), + CustomItemList.Machine_TeslaCoil_4by4_IV.get(1), 400, 7680); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_4by4_IV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.SolderingAlloy.getMolten(144), + CustomItemList.Machine_TeslaCoil_4by4_IV.get(1), 400, 7680); + + //endregion + + //region components + + //Tesla Winding Components + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Electrum, 32), + GT_OreDictUnificator.get(OrePrefixes.ring, Materials.NickelZincFerrite, 8), + }, Materials.Epoxid.getMolten(288), CustomItemList.teslaComponent.getWithDamage(1, 0), 320, 30); + //Tesla Winding Components Ultimate (ADD BLOOD VARIANT) + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorLuV, 4), + GT_OreDictUnificator.get(OrePrefixes.ring, Materials.NickelZincFerrite, 8), + }, Materials.Epoxid.getMolten(576), CustomItemList.teslaComponent.getWithDamage(1, 1), 320, 7680); + + //endregion + + //region items + + //LV Tesla Capacitor + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Tin, 4), + GT_OreDictUnificator.get(OrePrefixes.itemCasing, Materials.BatteryAlloy, 4), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 8), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Silicone, 8), + }, Materials.Epoxid.getMolten(72), CustomItemList.teslaCapacitor.getWithDamage(1, 0), 320, 30); + //MV Tesla Capacitor + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Copper, 4), + GT_OreDictUnificator.get(OrePrefixes.itemCasing, Materials.BatteryAlloy, 6), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 12), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Silicone, 12), + }, Materials.Epoxid.getMolten(144), CustomItemList.teslaCapacitor.getWithDamage(1, 1), 320, 120); + //HV Tesla Capacitor + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Gold, 4), + GT_OreDictUnificator.get(OrePrefixes.itemCasing, Materials.BatteryAlloy, 8), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 16), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Silicone, 16), + }, Materials.Epoxid.getMolten(216), CustomItemList.teslaCapacitor.getWithDamage(1, 2), 320, 480); + //EV Tesla Capacitor + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Aluminium, 4), + GT_OreDictUnificator.get(OrePrefixes.itemCasing, Materials.BatteryAlloy, 10), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 20), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Silicone, 20), + }, Materials.Epoxid.getMolten(288), CustomItemList.teslaCapacitor.getWithDamage(1, 3), 320, 1920); + //IV Tesla Capacitor + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Tungsten, 4), + GT_OreDictUnificator.get(OrePrefixes.itemCasing, Materials.BatteryAlloy, 12), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 24), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Silicone, 24), + }, Materials.Epoxid.getMolten(360), CustomItemList.teslaCapacitor.getWithDamage(1, 4), 320, 7680); + //Tesla Cover + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + CustomItemList.teslaComponent.getWithDamage(4, 0), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Advanced, 2), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Gold, 16), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.NickelZincFerrite, 2), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 8), + }, Materials.Lead.getMolten(288), CustomItemList.teslaCover.getWithDamage(1, 0), 320, 480); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + CustomItemList.teslaComponent.getWithDamage(4, 0), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Advanced, 2), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Gold, 16), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.NickelZincFerrite, 2), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 8), + }, Materials.Tin.getMolten(144), CustomItemList.teslaCover.getWithDamage(1, 0), 320, 480); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + CustomItemList.teslaComponent.getWithDamage(4, 0), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Advanced, 2), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Gold, 16), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.NickelZincFerrite, 2), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 8), + }, Materials.SolderingAlloy.getMolten(72), CustomItemList.teslaCover.getWithDamage(1, 0), 320, 480); + //Ultimate Tesla Cover + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + CustomItemList.teslaComponent.getWithDamage(4, 1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 2), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Tungsten, 16), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.NickelZincFerrite, 2), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 8), + }, Materials.Lead.getMolten(288), CustomItemList.teslaCover.getWithDamage(1, 1), 320, 7680); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + CustomItemList.teslaComponent.getWithDamage(4, 1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 2), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Tungsten, 16), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.NickelZincFerrite, 2), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 8), + }, Materials.Tin.getMolten(144), CustomItemList.teslaCover.getWithDamage(1, 1), 320, 7680); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + CustomItemList.teslaComponent.getWithDamage(4, 1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 2), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Tungsten, 16), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.NickelZincFerrite, 2), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 8), + }, Materials.SolderingAlloy.getMolten(72), CustomItemList.teslaCover.getWithDamage(1, 1), 320, 7680); + + //endregion + + //region recycling + + //LV Tesla Capacitor + GT_Values.RA.addExtractorRecipe(CustomItemList.teslaCapacitor.getWithDamage(1, 0), + GT_OreDictUnificator.get(OrePrefixes.itemCasing, Materials.BatteryAlloy, 4), 300, 2); + //MV Tesla Capacitor + GT_Values.RA.addExtractorRecipe(CustomItemList.teslaCapacitor.getWithDamage(1, 1), + GT_OreDictUnificator.get(OrePrefixes.itemCasing, Materials.BatteryAlloy, 6), 300, 2); + //HV Tesla Capacitor + GT_Values.RA.addExtractorRecipe(CustomItemList.teslaCapacitor.getWithDamage(1, 2), + GT_OreDictUnificator.get(OrePrefixes.itemCasing, Materials.BatteryAlloy, 8), 300, 2); + //EV Tesla Capacitor + GT_Values.RA.addExtractorRecipe(CustomItemList.teslaCapacitor.getWithDamage(1, 3), + GT_OreDictUnificator.get(OrePrefixes.itemCasing, Materials.BatteryAlloy, 10), 300, 2); + //IV Tesla Capacitor + GT_Values.RA.addExtractorRecipe(CustomItemList.teslaCapacitor.getWithDamage(1, 4), + GT_OreDictUnificator.get(OrePrefixes.itemCasing, Materials.BatteryAlloy, 12), 300, 2); + + //endregion + register_machine_EM_behaviours(); } - private void register_machine_EM_behaviours(){ - GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_Centrifuge(5),ItemList.Machine_IV_Centrifuge.get(1)); - GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_Centrifuge(6),getItemContainer("CentrifugeLuV").get(1)); - GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_Centrifuge(7),getItemContainer("CentrifugeZPM").get(1)); - GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_Centrifuge(8),getItemContainer("CentrifugeUV").get(1)); - GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_Centrifuge(9),getItemContainer("CentrifugeUHV").get(1)); - GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_Centrifuge(10),getItemContainer("CentrifugeUEV").get(1)); - GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_Centrifuge(11),getItemContainer("CentrifugeUIV").get(1)); - GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_Centrifuge(12),getItemContainer("CentrifugeUMV").get(1)); - - GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_ElectromagneticSeparator(5),ItemList.Machine_IV_ElectromagneticSeparator.get(1)); - GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_ElectromagneticSeparator(6),getItemContainer("ElectromagneticSeparatorLuV").get(1)); - GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_ElectromagneticSeparator(7),getItemContainer("ElectromagneticSeparatorZPM").get(1)); - GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_ElectromagneticSeparator(8),getItemContainer("ElectromagneticSeparatorUV").get(1)); - GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_ElectromagneticSeparator(9),getItemContainer("ElectromagneticSeparatorUHV").get(1)); - GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_ElectromagneticSeparator(10),getItemContainer("ElectromagneticSeparatorUEV").get(1)); - GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_ElectromagneticSeparator(11),getItemContainer("ElectromagneticSeparatorUIV").get(1)); - GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_ElectromagneticSeparator(12),getItemContainer("ElectromagneticSeparatorUMV").get(1)); - - GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_Recycler(5),ItemList.Machine_IV_Recycler.get(1)); - GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_Recycler(6),getItemContainer("RecyclerLuV").get(1)); - GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_Recycler(7),getItemContainer("RecyclerZPM").get(1)); - GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_Recycler(8),getItemContainer("RecyclerUV").get(1)); - GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_Recycler(9),getItemContainer("RecyclerUHV").get(1)); - GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_Recycler(10),getItemContainer("RecyclerUEV").get(1)); - GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_Recycler(11),getItemContainer("RecyclerUIV").get(1)); - GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_Recycler(12),getItemContainer("RecyclerUMV").get(1)); + private void register_machine_EM_behaviours() { + GT_MetaTileEntity_EM_machine.registerBehaviour(() -> new Behaviour_Centrifuge(5), ItemList.Machine_IV_Centrifuge.get(1)); + GT_MetaTileEntity_EM_machine.registerBehaviour(() -> new Behaviour_Centrifuge(6), getItemContainer("CentrifugeLuV").get(1)); + GT_MetaTileEntity_EM_machine.registerBehaviour(() -> new Behaviour_Centrifuge(7), getItemContainer("CentrifugeZPM").get(1)); + GT_MetaTileEntity_EM_machine.registerBehaviour(() -> new Behaviour_Centrifuge(8), getItemContainer("CentrifugeUV").get(1)); + GT_MetaTileEntity_EM_machine.registerBehaviour(() -> new Behaviour_Centrifuge(9), getItemContainer("CentrifugeUHV").get(1)); + GT_MetaTileEntity_EM_machine.registerBehaviour(() -> new Behaviour_Centrifuge(10), getItemContainer("CentrifugeUEV").get(1)); + GT_MetaTileEntity_EM_machine.registerBehaviour(() -> new Behaviour_Centrifuge(11), getItemContainer("CentrifugeUIV").get(1)); + GT_MetaTileEntity_EM_machine.registerBehaviour(() -> new Behaviour_Centrifuge(12), getItemContainer("CentrifugeUMV").get(1)); + + GT_MetaTileEntity_EM_machine.registerBehaviour(() -> new Behaviour_ElectromagneticSeparator(5), ItemList.Machine_IV_ElectromagneticSeparator.get(1)); + GT_MetaTileEntity_EM_machine.registerBehaviour(() -> new Behaviour_ElectromagneticSeparator(6), getItemContainer("ElectromagneticSeparatorLuV").get(1)); + GT_MetaTileEntity_EM_machine.registerBehaviour(() -> new Behaviour_ElectromagneticSeparator(7), getItemContainer("ElectromagneticSeparatorZPM").get(1)); + GT_MetaTileEntity_EM_machine.registerBehaviour(() -> new Behaviour_ElectromagneticSeparator(8), getItemContainer("ElectromagneticSeparatorUV").get(1)); + GT_MetaTileEntity_EM_machine.registerBehaviour(() -> new Behaviour_ElectromagneticSeparator(9), getItemContainer("ElectromagneticSeparatorUHV").get(1)); + GT_MetaTileEntity_EM_machine.registerBehaviour(() -> new Behaviour_ElectromagneticSeparator(10), getItemContainer("ElectromagneticSeparatorUEV").get(1)); + GT_MetaTileEntity_EM_machine.registerBehaviour(() -> new Behaviour_ElectromagneticSeparator(11), getItemContainer("ElectromagneticSeparatorUIV").get(1)); + GT_MetaTileEntity_EM_machine.registerBehaviour(() -> new Behaviour_ElectromagneticSeparator(12), getItemContainer("ElectromagneticSeparatorUMV").get(1)); + + GT_MetaTileEntity_EM_machine.registerBehaviour(() -> new Behaviour_Recycler(5), ItemList.Machine_IV_Recycler.get(1)); + GT_MetaTileEntity_EM_machine.registerBehaviour(() -> new Behaviour_Recycler(6), getItemContainer("RecyclerLuV").get(1)); + GT_MetaTileEntity_EM_machine.registerBehaviour(() -> new Behaviour_Recycler(7), getItemContainer("RecyclerZPM").get(1)); + GT_MetaTileEntity_EM_machine.registerBehaviour(() -> new Behaviour_Recycler(8), getItemContainer("RecyclerUV").get(1)); + GT_MetaTileEntity_EM_machine.registerBehaviour(() -> new Behaviour_Recycler(9), getItemContainer("RecyclerUHV").get(1)); + GT_MetaTileEntity_EM_machine.registerBehaviour(() -> new Behaviour_Recycler(10), getItemContainer("RecyclerUEV").get(1)); + GT_MetaTileEntity_EM_machine.registerBehaviour(() -> new Behaviour_Recycler(11), getItemContainer("RecyclerUIV").get(1)); + GT_MetaTileEntity_EM_machine.registerBehaviour(() -> new Behaviour_Recycler(12), getItemContainer("RecyclerUMV").get(1)); } } diff --git a/src/main/java/com/github/technus/tectech/compatibility/dreamcraft/NoDreamCraftMachineLoader.java b/src/main/java/com/github/technus/tectech/compatibility/dreamcraft/NoDreamCraftMachineLoader.java index 53a64a52ae..0570299f4e 100644 --- a/src/main/java/com/github/technus/tectech/compatibility/dreamcraft/NoDreamCraftMachineLoader.java +++ b/src/main/java/com/github/technus/tectech/compatibility/dreamcraft/NoDreamCraftMachineLoader.java @@ -13,6 +13,7 @@ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicHull; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_TieredMachineBlock; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Transformer; import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.StatCollector; import java.lang.reflect.Constructor; import java.lang.reflect.Field; @@ -21,7 +22,7 @@ import java.lang.reflect.Method; import static gregtech.api.GregTech_API.METATILEENTITIES; public class NoDreamCraftMachineLoader implements Runnable { - public final static String imagination=EnumChatFormatting.RESET + + public final static String imagination = EnumChatFormatting.RESET + "You just need " + EnumChatFormatting.DARK_PURPLE + "I" + EnumChatFormatting.LIGHT_PURPLE + "m" + EnumChatFormatting.DARK_RED + @@ -41,69 +42,84 @@ public class NoDreamCraftMachineLoader implements Runnable { try { CustomItemList.WetTransformer_LV_ULV.set(new GT_MetaTileEntity_WetTransformer( 12000, "wettransformer.tier.00", "Ultra Low Voltage Power Transformer", 0, - "LV -> ULV (Use Soft Mallet to invert)").getStackForm(1L)); - }catch (IllegalArgumentException e){ + //LV -> ULV (Use Soft Mallet to invert) + StatCollector.translateToLocal("gt.blockmachines.wetransformer.tier.00.desc")).getStackForm(1L)); + } catch (IllegalArgumentException e) { System.out.println(METATILEENTITIES[12000].getClass().getCanonicalName()); TecTech.LOGGER.error(e); e.printStackTrace(); - throw new Error(METATILEENTITIES[12000].getClass().getCanonicalName(),e); + throw new Error(METATILEENTITIES[12000].getClass().getCanonicalName(), e); } CustomItemList.WetTransformer_MV_LV.set(new GT_MetaTileEntity_WetTransformer( 12001, "wetransformer.tier.01", "Low Voltage Power Transformer", 1, - "MV -> LV (Use Soft Mallet to invert)").getStackForm(1L)); + //MV -> LV (Use Soft Mallet to invert) + StatCollector.translateToLocal("gt.blockmachines.wetransformer.tier.01.desc")).getStackForm(1L)); CustomItemList.WetTransformer_HV_MV.set(new GT_MetaTileEntity_WetTransformer( 12002, "wettransformer.tier.02", "Medium Voltage Power Transformer", 2, - "HV -> MV (Use Soft Mallet to invert)").getStackForm(1L)); + //HV -> MV (Use Soft Mallet to invert) + StatCollector.translateToLocal("gt.blockmachines.wetransformer.tier.02.desc")).getStackForm(1L)); CustomItemList.WetTransformer_EV_HV.set(new GT_MetaTileEntity_WetTransformer( 12003, "wettransformer.tier.03", "High Voltage Power Transformer", 3, - "EV -> HV (Use Soft Mallet to invert)").getStackForm(1L)); + //EV -> HV (Use Soft Mallet to invert) + StatCollector.translateToLocal("gt.blockmachines.wetransformer.tier.03.desc")).getStackForm(1L)); CustomItemList.WetTransformer_IV_EV.set(new GT_MetaTileEntity_WetTransformer( 12004, "wettransformer.tier.04", "Extreme Power Transformer", 4, - "IV -> EV (Use Soft Mallet to invert)").getStackForm(1L)); + //IV -> EV (Use Soft Mallet to invert) + StatCollector.translateToLocal("gt.blockmachines.wetransformer.tier.04.desc")).getStackForm(1L)); CustomItemList.WetTransformer_LuV_IV.set(new GT_MetaTileEntity_WetTransformer( 12005, "wettransformer.tier.05", "Insane Power Transformer", 5, - "LuV -> IV (Use Soft Mallet to invert)").getStackForm(1L)); + //LuV -> IV (Use Soft Mallet to invert) + StatCollector.translateToLocal("gt.blockmachines.wetransformer.tier.05.desc")).getStackForm(1L)); CustomItemList.WetTransformer_ZPM_LuV.set(new GT_MetaTileEntity_WetTransformer( 12006, "wettransformer.tier.06", "Ludicrous Power Transformer", 6, - "ZPM -> LuV (Use Soft Mallet to invert)").getStackForm(1L)); + //ZPM -> LuV (Use Soft Mallet to invert) + StatCollector.translateToLocal("gt.blockmachines.wetransformer.tier.06.desc")).getStackForm(1L)); CustomItemList.WetTransformer_UV_ZPM.set(new GT_MetaTileEntity_WetTransformer( 12007, "wettransformer.tier.07", "ZPM Voltage Power Transformer", 7, - "UV -> ZPM (Use Soft Mallet to invert)").getStackForm(1L)); + //UV -> ZPM (Use Soft Mallet to invert) + StatCollector.translateToLocal("gt.blockmachines.wetransformer.tier.07.desc")).getStackForm(1L)); CustomItemList.WetTransformer_UHV_UV.set(new GT_MetaTileEntity_WetTransformer( 12008, "wettransformer.tier.08", "Ultimate Power Transformer", 8, - "UHV -> UV (Use Soft Mallet to invert)").getStackForm(1L)); + //UHV -> UV (Use Soft Mallet to invert) + StatCollector.translateToLocal("gt.blockmachines.wetransformer.tier.08.desc")).getStackForm(1L)); CustomItemList.WetTransformer_UEV_UHV.set(new GT_MetaTileEntity_WetTransformer( 12009, "wettransformer.tier.09", "Highly Ultimate Power Transformer", 9, - "UEV -> UHV (Use Soft Mallet to invert)").getStackForm(1L)); + //UEV -> UHV (Use Soft Mallet to invert) + StatCollector.translateToLocal("gt.blockmachines.wetransformer.tier.09.desc")).getStackForm(1L)); CustomItemList.WetTransformer_UIV_UEV.set(new GT_MetaTileEntity_WetTransformer( 12010, "wettransformer.tier.10", "Extremely Ultimate Power Transformer", 10, - "UIV -> UEV (Use Soft Mallet to invert)").getStackForm(1L)); + //UIV -> UEV (Use Soft Mallet to invert) + StatCollector.translateToLocal("gt.blockmachines.wetransformer.tier.10.desc")).getStackForm(1L)); CustomItemList.WetTransformer_UMV_UIV.set(new GT_MetaTileEntity_WetTransformer( 12011, "wettransformer.tier.11", "Insanely Ultimate Power Transformer", 11, - "UMV -> UIV (Use Soft Mallet to invert)").getStackForm(1L)); + //UMV -> UIV (Use Soft Mallet to invert) + StatCollector.translateToLocal("gt.blockmachines.wetransformer.tier.11.desc")).getStackForm(1L)); CustomItemList.WetTransformer_UXV_UMV.set(new GT_MetaTileEntity_WetTransformer( 12012, "wettransformer.tier.12", "Mega Ultimate Power Transformer", 12, - "UXV -> UMV (Use Soft Mallet to invert)").getStackForm(1L)); + //UXV -> UMV (Use Soft Mallet to invert) + StatCollector.translateToLocal("gt.blockmachines.wetransformer.tier.12.desc")).getStackForm(1L)); CustomItemList.WetTransformer_OPV_UXV.set(new GT_MetaTileEntity_WetTransformer( 12013, "wettransformer.tier.13", "Extended Mega Ultimate Power Transformer", 13, - "OPV -> UXV (Use Soft Mallet to invert)").getStackForm(1L)); + //OPV -> UXV (Use Soft Mallet to invert) + StatCollector.translateToLocal("gt.blockmachines.wetransformer.tier.13.desc")).getStackForm(1L)); CustomItemList.WetTransformer_MAXV_OPV.set(new GT_MetaTileEntity_WetTransformer( 12014, "wettransformer.tier.14", "Overpowered Power Transformer", 14, - "MAX -> OPV (Use Soft Mallet to invert)").getStackForm(1L)); + //MAX -> OPV (Use Soft Mallet to invert) + StatCollector.translateToLocal("gt.blockmachines.wetransformer.tier.14.desc")).getStackForm(1L)); try { MetaTileEntity temp; @@ -117,7 +133,7 @@ public class NoDreamCraftMachineLoader implements Runnable { } temp = new GT_MetaTileEntity_BasicHull( - 11230, "hull.tier.10", "UEV Machine Hull",10, + 11230, "hull.tier.10", "UEV Machine Hull", 10, imagination); Util.setTier(10, temp); if (GT_Values.GT.isClientSide()) { @@ -126,7 +142,7 @@ public class NoDreamCraftMachineLoader implements Runnable { CustomItemList.Hull_UEV.set(temp.getStackForm(1L)); temp = new GT_MetaTileEntity_BasicHull( - 11231, "hull.tier.11", "UIV Machine Hull",11, + 11231, "hull.tier.11", "UIV Machine Hull", 11, imagination); Util.setTier(11, temp); if (GT_Values.GT.isClientSide()) { @@ -135,7 +151,7 @@ public class NoDreamCraftMachineLoader implements Runnable { CustomItemList.Hull_UIV.set(temp.getStackForm(1L)); temp = new GT_MetaTileEntity_BasicHull( - 11232, "hull.tier.12", "UMV Machine Hull",12, + 11232, "hull.tier.12", "UMV Machine Hull", 12, imagination); Util.setTier(12, temp); if (GT_Values.GT.isClientSide()) { @@ -144,7 +160,7 @@ public class NoDreamCraftMachineLoader implements Runnable { CustomItemList.Hull_UMV.set(temp.getStackForm(1L)); temp = new GT_MetaTileEntity_BasicHull( - 11233, "hull.tier.13", "UXV Machine Hull",13, + 11233, "hull.tier.13", "UXV Machine Hull", 13, imagination); Util.setTier(13, temp); if (GT_Values.GT.isClientSide()) { @@ -153,7 +169,7 @@ public class NoDreamCraftMachineLoader implements Runnable { CustomItemList.Hull_UXV.set(temp.getStackForm(1L)); temp = new GT_MetaTileEntity_BasicHull( - 11234, "hull.tier.14", "OPV Machine Hull",14, + 11234, "hull.tier.14", "OPV Machine Hull", 14, imagination); Util.setTier(14, temp); if (GT_Values.GT.isClientSide()) { @@ -162,7 +178,7 @@ public class NoDreamCraftMachineLoader implements Runnable { CustomItemList.Hull_OPV.set(temp.getStackForm(1L)); temp = new GT_MetaTileEntity_BasicHull( - 11235, "hull.tier.15", "MAX Machine Hull",15, + 11235, "hull.tier.15", "MAX Machine Hull", 15, imagination); Util.setTier(15, temp); if (GT_Values.GT.isClientSide()) { @@ -173,12 +189,14 @@ public class NoDreamCraftMachineLoader implements Runnable { temp = new GT_MetaTileEntity_Transformer( 11220, "transformer.tier.09", "Highly Ultimate Transformer", 9, - "UEV -> UHV (Use Soft Mallet to invert)"); + //UEV -> UHV (Use Soft Mallet to invert) + StatCollector.translateToLocal("gt.blockmachines.transformer.tier.09.desc")); CustomItemList.Transformer_UEV_UHV.set(temp.getStackForm(1L)); temp = new GT_MetaTileEntity_Transformer( 11221, "transformer.tier.10", "Extremely Ultimate Transformer", 10, - "UIV -> UEV (Use Soft Mallet to invert)"); + //UIV -> UEV (Use Soft Mallet to invert) + StatCollector.translateToLocal("gt.blockmachines.transformer.tier.10.desc")); Util.setTier(10, temp); if (GT_Values.GT.isClientSide()) { field.set(temp, method.invoke(temp, iTexture)); @@ -187,7 +205,8 @@ public class NoDreamCraftMachineLoader implements Runnable { temp = new GT_MetaTileEntity_Transformer( 11222, "transformer.tier.11", "Insanely Ultimate Transformer", 11, - "UMV -> UIV (Use Soft Mallet to invert)"); + //UMV -> UIV (Use Soft Mallet to invert) + StatCollector.translateToLocal("gt.blockmachines.transformer.tier.11.desc")); Util.setTier(11, temp); if (GT_Values.GT.isClientSide()) { field.set(temp, method.invoke(temp, iTexture)); @@ -196,7 +215,8 @@ public class NoDreamCraftMachineLoader implements Runnable { temp = new GT_MetaTileEntity_Transformer( 11223, "transformer.tier.12", "Mega Ultimate Transformer", 12, - "UXV -> UMV (Use Soft Mallet to invert)"); + //UXV -> UMV (Use Soft Mallet to invert) + StatCollector.translateToLocal("gt.blockmachines.transformer.tier.12.desc")); Util.setTier(12, temp); if (GT_Values.GT.isClientSide()) { field.set(temp, method.invoke(temp, iTexture)); @@ -205,7 +225,8 @@ public class NoDreamCraftMachineLoader implements Runnable { temp = new GT_MetaTileEntity_Transformer( 11224, "transformer.tier.13", "Extended Mega Ultimate Transformer", 13, - "OPV -> UXV (Use Soft Mallet to invert)"); + //OPV -> UXV (Use Soft Mallet to invert) + StatCollector.translateToLocal("gt.blockmachines.transformer.tier.13.desc")); Util.setTier(13, temp); if (GT_Values.GT.isClientSide()) { field.set(temp, method.invoke(temp, iTexture)); @@ -214,7 +235,8 @@ public class NoDreamCraftMachineLoader implements Runnable { temp = new GT_MetaTileEntity_Transformer( 11225, "transformer.tier.14", "Overpowered Transformer", 14, - "MAX -> OPV (Use Soft Mallet to invert)"); + //MAX -> OPV (Use Soft Mallet to invert) + StatCollector.translateToLocal("gt.blockmachines.transformer.tier.14.desc")); Util.setTier(14, temp); if (GT_Values.GT.isClientSide()) { field.set(temp, method.invoke(temp, iTexture)); @@ -228,12 +250,14 @@ public class NoDreamCraftMachineLoader implements Runnable { temp = constructor.newInstance( 11989, "transformer.ha.tier.09", "Highly Ultimate Hi-Amp Transformer", 9, - "UEV -> UHV (Use Soft Mallet to invert)"); + //UEV -> UHV (Use Soft Mallet to invert + StatCollector.translateToLocal("gt.blockmachines.transformer.ha.tier.09.desc")); CustomItemList.Transformer_HA_UEV_UHV.set(temp.getStackForm(1)); temp = constructor.newInstance( 11910, "transformer.ha.tier.10", "Extremely Ultimate Hi-Amp Transformer", 10, - "UIV -> UEV (Use Soft Mallet to invert)"); + //UIV -> UEV (Use Soft Mallet to invert) + StatCollector.translateToLocal("gt.blockmachines.transformer.ha.tier.10.desc")); Util.setTier(10, temp); if (GT_Values.GT.isClientSide()) { field.set(temp, method.invoke(temp, iTexture)); @@ -242,7 +266,8 @@ public class NoDreamCraftMachineLoader implements Runnable { temp = constructor.newInstance( 11911, "transformer.ha.tier.11", "Insanely Ultimate Hi-Amp Transformer", 11, - "UMV -> UIV (Use Soft Mallet to invert)"); + //UMV -> UIV (Use Soft Mallet to invert) + StatCollector.translateToLocal("gt.blockmachines.transformer.ha.tier.11.desc")); Util.setTier(11, temp); if (GT_Values.GT.isClientSide()) { field.set(temp, method.invoke(temp, iTexture)); @@ -251,7 +276,8 @@ public class NoDreamCraftMachineLoader implements Runnable { temp = constructor.newInstance( 11912, "transformer.ha.tier.12", "Mega Ultimate Hi-Amp Transformer", 12, - "UXV -> UMV (Use Soft Mallet to invert)"); + //UXV -> UMV (Use Soft Mallet to invert) + StatCollector.translateToLocal("gt.blockmachines.transformer.ha.tier.12.desc")); Util.setTier(12, temp); if (GT_Values.GT.isClientSide()) { field.set(temp, method.invoke(temp, iTexture)); @@ -260,7 +286,8 @@ public class NoDreamCraftMachineLoader implements Runnable { temp = constructor.newInstance( 11913, "transformer.ha.tier.13", "Extended Mega Ultimate Hi-Amp Transformer", 13, - "OPV -> UXV (Use Soft Mallet to invert)"); + //OPV -> UXV (Use Soft Mallet to invert) + StatCollector.translateToLocal("gt.blockmachines.transformer.ha.tier.13.desc")); Util.setTier(13, temp); if (GT_Values.GT.isClientSide()) { field.set(temp, method.invoke(temp, iTexture)); @@ -269,7 +296,8 @@ public class NoDreamCraftMachineLoader implements Runnable { temp = constructor.newInstance( 11914, "transformer.ha.tier.14", "Overpowered Hi-Amp Transformer", 14, - "MAX -> OPV (Use Soft Mallet to invert)"); + //MAX -> OPV (Use Soft Mallet to invert) + StatCollector.translateToLocal("gt.blockmachines.transformer.ha.tier.14.desc")); Util.setTier(14, temp); if (GT_Values.GT.isClientSide()) { field.set(temp, method.invoke(temp, iTexture)); diff --git a/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/TT_turret_loader.java b/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/TT_turret_loader.java index d03f1bd1c6..d66232671a 100644 --- a/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/TT_turret_loader.java +++ b/src/main/java/com/github/technus/tectech/compatibility/openmodularturrets/TT_turret_loader.java @@ -14,7 +14,7 @@ import net.minecraftforge.client.MinecraftForgeClient; public class TT_turret_loader implements Runnable { @Override public void run() { - TurretHeadRenderEM turretHeadRenderEM=new TurretHeadRenderEM(); + TurretHeadRenderEM turretHeadRenderEM = new TurretHeadRenderEM(); ClientRegistry.bindTileEntitySpecialRenderer(TileTurretHeadEM.class, turretHeadRenderEM); MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(TurretHeadEM.INSTANCE), new TurretHeadItemRenderEM(turretHeadRenderEM, new TileTurretHeadEM())); diff --git a/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/elementalMatter/definitions/dComplexAspectDefinition.java b/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/elementalMatter/definitions/dComplexAspectDefinition.java index 059ac44da3..3d01ec7fb9 100644 --- a/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/elementalMatter/definitions/dComplexAspectDefinition.java +++ b/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/elementalMatter/definitions/dComplexAspectDefinition.java @@ -13,6 +13,7 @@ import com.github.technus.tectech.mechanics.elementalMatter.core.transformations import com.github.technus.tectech.mechanics.elementalMatter.core.transformations.aOredictDequantizationInfo; import com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.eBosonDefinition; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.StatCollector; import java.util.ArrayList; @@ -58,12 +59,12 @@ public final class dComplexAspectDefinition extends cElementalDefinition impleme throw new tElementalException("Hadron Definition error"); } aspectStacks = aspects; - float mass=0; - for(cElementalDefinitionStack stack:aspects.values()){ - mass+=stack.getMass(); + float mass = 0; + for (cElementalDefinitionStack stack : aspects.values()) { + mass += stack.getMass(); } - this.mass=mass; - hash=super.hashCode(); + this.mass = mass; + hash = super.hashCode(); } //public but u can just try{}catch(){} the constructor it still calls this method @@ -75,18 +76,18 @@ public final class dComplexAspectDefinition extends cElementalDefinition impleme } amount += aspects.amount; } - return amount==2; + return amount == 2; } @Override public String getName() { - String name= AspectDefinitionCompat.aspectDefinitionCompat.getAspectTag(this); - if(name!=null){ - name=name.substring(0,1).toUpperCase()+name.substring(1); - }else{ - name=getSymbol(); + String name = AspectDefinitionCompat.aspectDefinitionCompat.getAspectTag(this); + if (name != null) { + name = name.substring(0, 1).toUpperCase() + name.substring(1); + } else { + name = getSymbol(); } - return "Aspect: "+name; + return StatCollector.translateToLocal("tt.keyword.Aspect") + ": " + name; } @Override @@ -195,7 +196,7 @@ public final class dComplexAspectDefinition extends cElementalDefinition impleme @Override public float getEnergyDiffBetweenStates(long currentEnergyLevel, long newEnergyLevel) { - return iElementalDefinition.DEFAULT_ENERGY_REQUIREMENT *(newEnergyLevel-currentEnergyLevel); + return iElementalDefinition.DEFAULT_ENERGY_REQUIREMENT * (newEnergyLevel - currentEnergyLevel); } @Override @@ -260,13 +261,13 @@ public final class dComplexAspectDefinition extends cElementalDefinition impleme public static void run() { try { - cElementalDefinition.addCreatorFromNBT(nbtType, dComplexAspectDefinition.class.getMethod("fromNBT", NBTTagCompound.class),(byte)-96); + cElementalDefinition.addCreatorFromNBT(nbtType, dComplexAspectDefinition.class.getMethod("fromNBT", NBTTagCompound.class), (byte) -96); } catch (Exception e) { if (DEBUG_MODE) { e.printStackTrace(); } } - if(DEBUG_MODE) { + if (DEBUG_MODE) { TecTech.LOGGER.info("Registered Elemental Matter Class: ComplexAspect " + nbtType + ' ' + -96); } } @@ -276,7 +277,7 @@ public final class dComplexAspectDefinition extends cElementalDefinition impleme return -96; } - public static byte getClassTypeStatic(){ + public static byte getClassTypeStatic() { return -96; } @@ -287,32 +288,32 @@ public final class dComplexAspectDefinition extends cElementalDefinition impleme @Override public void addScanShortSymbols(ArrayList<String> lines, int capabilities, long energyLevel) { - if(Util.areBitsSet(SCAN_GET_NOMENCLATURE|SCAN_GET_CHARGE|SCAN_GET_MASS, capabilities)) { + if (Util.areBitsSet(SCAN_GET_NOMENCLATURE | SCAN_GET_CHARGE | SCAN_GET_MASS, capabilities)) { lines.add(getShortSymbol()); } } @Override public void addScanResults(ArrayList<String> lines, int capabilities, long energyLevel) { - if(Util.areBitsSet(SCAN_GET_CLASS_TYPE, capabilities)) { - lines.add("CLASS = " + nbtType + ' ' + getClassType()); + if (Util.areBitsSet(SCAN_GET_CLASS_TYPE, capabilities)) { + lines.add(StatCollector.translateToLocal("tt.keyword.CLASS") + " = " + nbtType + ' ' + getClassType()); } - if(Util.areBitsSet(SCAN_GET_NOMENCLATURE|SCAN_GET_CHARGE|SCAN_GET_MASS, capabilities)) { - lines.add("NAME = "+getName()); + if (Util.areBitsSet(SCAN_GET_NOMENCLATURE | SCAN_GET_CHARGE | SCAN_GET_MASS, capabilities)) { + lines.add(StatCollector.translateToLocal("tt.keyword.NAME") + " = " + getName()); //lines.add("SYMBOL = "+getSymbol()); } - if(Util.areBitsSet(SCAN_GET_CHARGE,capabilities)) { - lines.add("CHARGE = " + getCharge() / 3f + " e"); + if (Util.areBitsSet(SCAN_GET_CHARGE, capabilities)) { + lines.add(StatCollector.translateToLocal("tt.keyword.CHARGE") + " = " + getCharge() / 3f + " e"); } - if(Util.areBitsSet(SCAN_GET_COLOR,capabilities)) { - lines.add(getColor() < 0 ? "COLORLESS" : "CARRIES COLOR"); + if (Util.areBitsSet(SCAN_GET_COLOR, capabilities)) { + lines.add(getColor() < 0 ? StatCollector.translateToLocal("tt.keyword.COLORLESS") : StatCollector.translateToLocal("tt.keyphrase.CARRIES_COLOR")); } - if(Util.areBitsSet(SCAN_GET_MASS,capabilities)) { - lines.add("MASS = " + getMass() + " eV/c\u00b2"); + if (Util.areBitsSet(SCAN_GET_MASS, capabilities)) { + lines.add(StatCollector.translateToLocal("tt.keyword.MASS") + " = " + getMass() + " eV/c\u00b2"); } - if(Util.areBitsSet(SCAN_GET_TIMESPAN_INFO, capabilities)){ - lines.add("LIFE TIME = "+getRawTimeSpan(energyLevel)+ " s"); - lines.add(" "+"At current energy level"); + if (Util.areBitsSet(SCAN_GET_TIMESPAN_INFO, capabilities)) { + lines.add(StatCollector.translateToLocal("tt.keyphrase.LIFE_TIME") + " = " + getRawTimeSpan(energyLevel) + " s"); + lines.add(" " + StatCollector.translateToLocal("tt.keyphrase.At_current_energy_level")); } } } diff --git a/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/elementalMatter/definitions/ePrimalAspectDefinition.java b/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/elementalMatter/definitions/ePrimalAspectDefinition.java index 7ca125cd5e..b31e7460c8 100644 --- a/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/elementalMatter/definitions/ePrimalAspectDefinition.java +++ b/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/elementalMatter/definitions/ePrimalAspectDefinition.java @@ -1,6 +1,7 @@ package com.github.technus.tectech.compatibility.thaumcraft.elementalMatter.definitions; import com.github.technus.tectech.mechanics.elementalMatter.core.templates.cElementalPrimitive; +import net.minecraft.util.StatCollector; import static com.github.technus.tectech.mechanics.elementalMatter.core.cElementalDecay.noDecay; @@ -9,12 +10,12 @@ import static com.github.technus.tectech.mechanics.elementalMatter.core.cElement */ public final class ePrimalAspectDefinition extends cElementalPrimitive implements iElementalAspect { public static final ePrimalAspectDefinition - magic_air = new ePrimalAspectDefinition("Air", "a`", 1e1F, 35), - magic_earth = new ePrimalAspectDefinition("Earth", "e`", 1e9F, 34), - magic_fire = new ePrimalAspectDefinition("Fire", "f`", 1e3F, 33), - magic_water = new ePrimalAspectDefinition("Water", "w`", 1e7F, 32), - magic_order = new ePrimalAspectDefinition("Order", "o`", 1e5F, 30), - magic_entropy = new ePrimalAspectDefinition("Entropy", "e`", 1e5F, 31); + magic_air = new ePrimalAspectDefinition(StatCollector.translateToLocal("tt.keyword.Air"), "a`", 1e1F, 35), + magic_earth = new ePrimalAspectDefinition(StatCollector.translateToLocal("tt.keyword.Earth"), "e`", 1e9F, 34), + magic_fire = new ePrimalAspectDefinition(StatCollector.translateToLocal("tt.keyword.Fire"), "f`", 1e3F, 33), + magic_water = new ePrimalAspectDefinition(StatCollector.translateToLocal("tt.keyword.Water"), "w`", 1e7F, 32), + magic_order = new ePrimalAspectDefinition(StatCollector.translateToLocal("tt.keyword.Order"), "o`", 1e5F, 30), + magic_entropy = new ePrimalAspectDefinition(StatCollector.translateToLocal("tt.keyword.Entropy"), "e`", 1e5F, 31); private ePrimalAspectDefinition(String name, String symbol, float mass, int ID) { super(name, symbol, 0, mass, 0, -1, ID); @@ -31,7 +32,7 @@ public final class ePrimalAspectDefinition extends cElementalPrimitive implement @Override public String getName() { - return "Primal: " + name; + return StatCollector.translateToLocal("tt.keyword.Primal")+": " + name; } @Override @@ -43,5 +44,4 @@ public final class ePrimalAspectDefinition extends cElementalPrimitive implement public boolean isTimeSpanHalfLife() { return false; } -} - +}
\ No newline at end of file diff --git a/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_essentiaDequantizer.java b/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_essentiaDequantizer.java index 3d64ceee62..31a81726c4 100644 --- a/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_essentiaDequantizer.java +++ b/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_essentiaDequantizer.java @@ -21,6 +21,7 @@ import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.ResourceLocation; +import net.minecraft.util.StatCollector; import net.minecraftforge.common.util.ForgeDirection; import static com.github.technus.tectech.CommonValues.V; @@ -38,14 +39,14 @@ public class GT_MetaTileEntity_EM_essentiaDequantizer extends GT_MetaTileEntity_ //region Structure //use multi A energy inputs, use less power the longer it runs private static final String[][] shape = new String[][]{ - {" "," . "," ",}, - {"0A0",E,"0A0",}, - {"121","232","121",}, - {"\"\"\"","\"2\"","\"\"\"",}, - {"202","0!0","202",}, + {" ", " . ", " ",}, + {"0A0", E, "0A0",}, + {"121", "232", "121",}, + {"\"\"\"", "\"2\"", "\"\"\"",}, + {"202", "0!0", "202",}, }; private static final Block[] blockType = new Block[]{QuantumGlassBlock.INSTANCE, sBlockCasingsTT, sBlockCasingsTT, sBlockCasingsTT}; - private static final byte[] blockMeta = new byte[]{0,0,4,8}; + private static final byte[] blockMeta = new byte[]{0, 0, 4, 8}; private final IHatchAdder[] addingMethods = new IHatchAdder[]{ this::addClassicToMachineList, this::addElementalInputToMachineList, @@ -54,11 +55,11 @@ public class GT_MetaTileEntity_EM_essentiaDequantizer extends GT_MetaTileEntity_ private static final Block[] blockTypeFallback = new Block[]{sBlockCasingsTT, sBlockCasingsTT, sBlockCasingsTT}; private static final byte[] blockMetaFallback = new byte[]{0, 4, 4}; private static final String[] description = new String[]{ - EnumChatFormatting.AQUA+"Hint Details:", - "1 - Classic Hatches or High Power Casing", - "2 - Elemental Input Hatch", - "3 - Elemental Overflow Hatches or Elemental Casing", - "General - Some sort of Essentia Storage", + EnumChatFormatting.AQUA + StatCollector.translateToLocal("tt.keyphrase.Hint_Details") + ":", + StatCollector.translateToLocal("gt.blockmachines.multimachine.em.emtoessentia.hint.0"),//1 - Classic Hatches or High Power Casing + StatCollector.translateToLocal("gt.blockmachines.multimachine.em.emtoessentia.hint.1"),//2 - Elemental Input Hatch + StatCollector.translateToLocal("gt.blockmachines.multimachine.em.emtoessentia.hint.2"),//3 - Elemental Overflow Hatches or Elemental Casing + StatCollector.translateToLocal("gt.blockmachines.multimachine.em.emtoessentia.hint.3"),//General - Some sort of Essentia Storage }; //endregion @@ -77,7 +78,7 @@ public class GT_MetaTileEntity_EM_essentiaDequantizer extends GT_MetaTileEntity_ @Override @SideOnly(Side.CLIENT) - protected ResourceLocation getActivitySound(){ + protected ResourceLocation getActivitySound() { return GT_MetaTileEntity_EM_quantizer.activitySound; } @@ -88,22 +89,22 @@ public class GT_MetaTileEntity_EM_essentiaDequantizer extends GT_MetaTileEntity_ @Override public void construct(int stackSize, boolean hintsOnly) { - IGregTechTileEntity iGregTechTileEntity=getBaseMetaTileEntity(); + IGregTechTileEntity iGregTechTileEntity = getBaseMetaTileEntity(); int xDir = ForgeDirection.getOrientation(iGregTechTileEntity.getBackFacing()).offsetX; int yDir = ForgeDirection.getOrientation(iGregTechTileEntity.getBackFacing()).offsetY; int zDir = ForgeDirection.getOrientation(iGregTechTileEntity.getBackFacing()).offsetZ; - if(hintsOnly){ + if (hintsOnly) { TecTech.proxy.hint_particle(iGregTechTileEntity.getWorld(), - iGregTechTileEntity.getXCoord()+xDir, - iGregTechTileEntity.getYCoord()+yDir, - iGregTechTileEntity.getZCoord()+zDir, - TT_Container_Casings.sHintCasingsTT,12); - } else{ - if(iGregTechTileEntity.getBlockOffset(xDir,0,zDir).getMaterial() == Material.air) { + iGregTechTileEntity.getXCoord() + xDir, + iGregTechTileEntity.getYCoord() + yDir, + iGregTechTileEntity.getZCoord() + zDir, + TT_Container_Casings.sHintCasingsTT, 12); + } else { + if (iGregTechTileEntity.getBlockOffset(xDir, 0, zDir).getMaterial() == Material.air) { iGregTechTileEntity.getWorld().setBlock(iGregTechTileEntity.getXCoord() + xDir, iGregTechTileEntity.getYCoord() + yDir, iGregTechTileEntity.getZCoord() + zDir, TT_Container_Casings.sHintCasingsTT, 12, 2); } } - StructureBuilderExtreme(shape, blockType, blockMeta,1, 1, 0, iGregTechTileEntity,this,hintsOnly); + StructureBuilderExtreme(shape, blockType, blockMeta, 1, 1, 0, iGregTechTileEntity, this, hintsOnly); } @Override @@ -114,20 +115,20 @@ public class GT_MetaTileEntity_EM_essentiaDequantizer extends GT_MetaTileEntity_ @Override public boolean checkRecipe_EM(ItemStack itemStack) { TileEntity container = essentiaContainerCompat.getContainer(this); - if (eInputHatches.size() < 1 || container ==null) { + if (eInputHatches.size() < 1 || container == null) { stopMachine(); return false; } - cElementalInstanceStackMap inputHatchContainer=eInputHatches.get(0).getContainerHandler(); - if(inputHatchContainer.hasStacks()){ + cElementalInstanceStackMap inputHatchContainer = eInputHatches.get(0).getContainerHandler(); + if (inputHatchContainer.hasStacks()) { cElementalInstanceStack stack = inputHatchContainer.getFirst(); - inputHatchContainer.removeAmount(false,new cElementalInstanceStack(stack.definition,1)); - if(!essentiaContainerCompat.putElementalInstanceStack(container,stack)) { + inputHatchContainer.removeAmount(false, new cElementalInstanceStack(stack.definition, 1)); + if (!essentiaContainerCompat.putElementalInstanceStack(container, stack)) { cleanStackEM_EM(stack); } mMaxProgresstime = 20; mEfficiencyIncrease = 10000; - eAmpereFlow=1; + eAmpereFlow = 1; if (stack.definition instanceof ePrimalAspectDefinition) { mEUt = (int) -V[8]; } else { @@ -142,8 +143,8 @@ public class GT_MetaTileEntity_EM_essentiaDequantizer extends GT_MetaTileEntity_ public String[] getDescription() { return new String[]{ CommonValues.TEC_MARK_EM, - "Transform quantum form back to...", - EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + "regular one, but why?" + StatCollector.translateToLocal("gt.blockmachines.multimachine.em.emtoessentia.desc.0"),//Transform quantum form back to... + EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + StatCollector.translateToLocal("gt.blockmachines.multimachine.em.emtoessentia.desc.1")//regular one, but why? }; } } diff --git a/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_essentiaQuantizer.java b/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_essentiaQuantizer.java index 9bd16c959b..4425a97f64 100644 --- a/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_essentiaQuantizer.java +++ b/src/main/java/com/github/technus/tectech/compatibility/thaumcraft/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_essentiaQuantizer.java @@ -21,6 +21,7 @@ import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.ResourceLocation; +import net.minecraft.util.StatCollector; import net.minecraftforge.common.util.ForgeDirection; import static com.github.technus.tectech.CommonValues.V; @@ -38,27 +39,27 @@ public class GT_MetaTileEntity_EM_essentiaQuantizer extends GT_MetaTileEntity_Mu //region Structure //use multi A energy inputs, use less power the longer it runs private static final String[][] shape = new String[][]{ - {" "," . "," ",}, - {"0A0",E,"0A0",}, - {"121","232","121",}, - {"\"\"\"","\"1\"","\"\"\"",}, - {"010","1!1","010",}, + {" ", " . ", " ",}, + {"0A0", E, "0A0",}, + {"121", "232", "121",}, + {"\"\"\"", "\"1\"", "\"\"\"",}, + {"010", "1!1", "010",}, }; private static final Block[] blockType = new Block[]{QuantumGlassBlock.INSTANCE, sBlockCasingsTT, sBlockCasingsTT, sBlockCasingsTT}; - private static final byte[] blockMeta = new byte[]{0,4,0,8}; + private static final byte[] blockMeta = new byte[]{0, 4, 0, 8}; private final IHatchAdder[] addingMethods = new IHatchAdder[]{ this::addClassicToMachineList, this::addElementalOutputToMachineList, this::addElementalMufflerToMachineList}; - private static final short[] casingTextures = new short[]{textureOffset, textureOffset+4, textureOffset + 4}; + private static final short[] casingTextures = new short[]{textureOffset, textureOffset + 4, textureOffset + 4}; private static final Block[] blockTypeFallback = new Block[]{sBlockCasingsTT, sBlockCasingsTT, sBlockCasingsTT}; private static final byte[] blockMetaFallback = new byte[]{0, 4, 4}; private static final String[] description = new String[]{ - EnumChatFormatting.AQUA+"Hint Details:", - "1 - Classic Hatches or High Power Casing", - "2 - Elemental Output Hatch", - "3 - Elemental Overflow Hatches or Elemental Casing", - "General - Some sort of Essentia Storage", + EnumChatFormatting.AQUA + StatCollector.translateToLocal("tt.keyphrase.Hint_Details") + ":", + StatCollector.translateToLocal("gt.blockmachines.multimachine.em.essentiatoem.hint.0"),//1 - Classic Hatches or High Power Casing + StatCollector.translateToLocal("gt.blockmachines.multimachine.em.essentiatoem.hint.1"),//2 - Elemental Output Hatch + StatCollector.translateToLocal("gt.blockmachines.multimachine.em.essentiatoem.hint.2"),//3 - Elemental Overflow Hatches or Elemental Casing + StatCollector.translateToLocal("gt.blockmachines.multimachine.em.essentiatoem.hint.3"),//General - Some sort of Essentia Storage }; //endregion @@ -72,7 +73,7 @@ public class GT_MetaTileEntity_EM_essentiaQuantizer extends GT_MetaTileEntity_Mu @Override @SideOnly(Side.CLIENT) - protected ResourceLocation getActivitySound(){ + protected ResourceLocation getActivitySound() { return GT_MetaTileEntity_EM_quantizer.activitySound; } @@ -88,22 +89,22 @@ public class GT_MetaTileEntity_EM_essentiaQuantizer extends GT_MetaTileEntity_Mu @Override public void construct(int stackSize, boolean hintsOnly) { - IGregTechTileEntity iGregTechTileEntity=getBaseMetaTileEntity(); + IGregTechTileEntity iGregTechTileEntity = getBaseMetaTileEntity(); int xDir = ForgeDirection.getOrientation(iGregTechTileEntity.getBackFacing()).offsetX; int yDir = ForgeDirection.getOrientation(iGregTechTileEntity.getBackFacing()).offsetY; int zDir = ForgeDirection.getOrientation(iGregTechTileEntity.getBackFacing()).offsetZ; - if(hintsOnly){ + if (hintsOnly) { TecTech.proxy.hint_particle(iGregTechTileEntity.getWorld(), - iGregTechTileEntity.getXCoord()+xDir, - iGregTechTileEntity.getYCoord()+yDir, - iGregTechTileEntity.getZCoord()+zDir, - TT_Container_Casings.sHintCasingsTT,12); - } else{ - if(iGregTechTileEntity.getBlockOffset(xDir,0,zDir).getMaterial() == Material.air) { + iGregTechTileEntity.getXCoord() + xDir, + iGregTechTileEntity.getYCoord() + yDir, + iGregTechTileEntity.getZCoord() + zDir, + TT_Container_Casings.sHintCasingsTT, 12); + } else { + if (iGregTechTileEntity.getBlockOffset(xDir, 0, zDir).getMaterial() == Material.air) { iGregTechTileEntity.getWorld().setBlock(iGregTechTileEntity.getXCoord() + xDir, iGregTechTileEntity.getYCoord() + yDir, iGregTechTileEntity.getZCoord() + zDir, TT_Container_Casings.sHintCasingsTT, 12, 2); } } - StructureBuilderExtreme(shape, blockType, blockMeta,1, 1, 0, iGregTechTileEntity,this,hintsOnly); + StructureBuilderExtreme(shape, blockType, blockMeta, 1, 1, 0, iGregTechTileEntity, this, hintsOnly); } @Override @@ -115,19 +116,19 @@ public class GT_MetaTileEntity_EM_essentiaQuantizer extends GT_MetaTileEntity_Mu public String[] getDescription() { return new String[]{ CommonValues.TEC_MARK_EM, - "Conveniently convert regular stuff into quantum form.", - EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + "To make it more inconvenient." + StatCollector.translateToLocal("gt.blockmachines.multimachine.em.essentiatoem.desc.0"),//Conveniently convert regular stuff into quantum form. + EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + StatCollector.translateToLocal("gt.blockmachines.multimachine.em.essentiatoem.desc.1")//To make it more inconvenient. }; } @Override public boolean checkRecipe_EM(ItemStack itemStack) { TileEntity container = essentiaContainerCompat.getContainer(this); - cElementalInstanceStack newStack=essentiaContainerCompat.getFromContainer(container); - if(newStack!=null){ + cElementalInstanceStack newStack = essentiaContainerCompat.getFromContainer(container); + if (newStack != null) { mMaxProgresstime = 20; mEfficiencyIncrease = 10000; - eAmpereFlow=1; + eAmpereFlow = 1; outputEM = new cElementalInstanceStackMap[]{ new cElementalInstanceStackMap(newStack) }; @@ -148,6 +149,6 @@ public class GT_MetaTileEntity_EM_essentiaQuantizer extends GT_MetaTileEntity_Mu return; } eOutputHatches.get(0).getContainerHandler().putUnifyAll(outputEM[0]); - outputEM=null; + outputEM = null; } } diff --git a/src/main/java/com/github/technus/tectech/loader/MainLoader.java b/src/main/java/com/github/technus/tectech/loader/MainLoader.java index b45e8bd532..1c3ec67972 100644 --- a/src/main/java/com/github/technus/tectech/loader/MainLoader.java +++ b/src/main/java/com/github/technus/tectech/loader/MainLoader.java @@ -10,6 +10,7 @@ import com.github.technus.tectech.loader.gui.CreativeTabTecTech; import com.github.technus.tectech.loader.gui.ModGuiHandler; import com.github.technus.tectech.loader.recipe.RecipeLoader; import com.github.technus.tectech.loader.thing.ComponentLoader; +import com.github.technus.tectech.loader.thing.CoverLoader; import com.github.technus.tectech.loader.thing.MachineLoader; import com.github.technus.tectech.loader.thing.ThingsLoader; import com.github.technus.tectech.thing.casing.TT_Container_Casings; @@ -70,7 +71,7 @@ public final class MainLoader { } public static void load() { - ProgressManager.ProgressBar progressBarLoad = ProgressManager.push("TecTech Loader", 8); + ProgressManager.ProgressBar progressBarLoad = ProgressManager.push("TecTech Loader", 9); progressBarLoad.step("Elemental Things"); new ElementalLoader().run(); @@ -92,6 +93,10 @@ public final class MainLoader { new MachineLoader().run(); LOGGER.info("Machine Init Done"); + progressBarLoad.step("Cover Things"); + new CoverLoader().run(); + LOGGER.info("Cover Init Done"); + progressBarLoad.step("Register entities"); new EntityLoader().run(); LOGGER.info("Entities registered"); diff --git a/src/main/java/com/github/technus/tectech/loader/NetworkDispatcher.java b/src/main/java/com/github/technus/tectech/loader/NetworkDispatcher.java index 4cfb3697fa..71478f3ad8 100644 --- a/src/main/java/com/github/technus/tectech/loader/NetworkDispatcher.java +++ b/src/main/java/com/github/technus/tectech/loader/NetworkDispatcher.java @@ -5,6 +5,7 @@ import com.github.technus.tectech.thing.metaTileEntity.pipe.PipeActivityMessage; import com.github.technus.tectech.thing.metaTileEntity.RotationMessage; import com.github.technus.tectech.mechanics.data.ChunkDataMessage; import com.github.technus.tectech.mechanics.data.PlayerDataMessage; +import com.github.technus.tectech.mechanics.data.RendererMessage; import static com.github.technus.tectech.Reference.MODID; @@ -31,6 +32,8 @@ public class NetworkDispatcher extends eu.usrv.yamcore.network.PacketDispatcher registerMessage(PlayerDataMessage.ServerHandler.class, PlayerDataMessage.PlayerDataQuery.class); registerMessage(PlayerDataMessage.ClientHandler.class, PlayerDataMessage.PlayerDataData.class); + registerMessage(RendererMessage.ClientHandler.class, RendererMessage.RendererData.class); + registerMessage(TextParametersMessage.ServerHandler.class, TextParametersMessage.ParametersTextQuery.class); registerMessage(TextParametersMessage.ServerUpdateHandler.class, TextParametersMessage.ParametersTextUpdate.class); registerMessage(TextParametersMessage.ClientHandler.class, TextParametersMessage.ParametersTextData.class); diff --git a/src/main/java/com/github/technus/tectech/loader/TecTechConfig.java b/src/main/java/com/github/technus/tectech/loader/TecTechConfig.java index e7eb0c0945..e16580befe 100644 --- a/src/main/java/com/github/technus/tectech/loader/TecTechConfig.java +++ b/src/main/java/com/github/technus/tectech/loader/TecTechConfig.java @@ -20,6 +20,14 @@ public class TecTechConfig extends ConfigManager { public boolean DISABLE_MATERIAL_LOADING_FFS; public float TURRET_DAMAGE_FACTOR; public float TURRET_EXPLOSION_FACTOR; + public float TESLA_MULTI_MIN_EFFICIENCY; + public float TESLA_MULTI_MAX_EFFICIENCY; + public float TESLA_MULTI_OVERDRIVE_LOSS; + public float TESLA_SINGLE_MIN_EFFICIENCY; + public float TESLA_SINGLE_MAX_EFFICIENCY; + public float TESLA_SINGLE_OVERDRIVE_LOSS; + + /** * This loading phases do not correspond to mod loading phases! @@ -34,6 +42,12 @@ public class TecTechConfig extends ConfigManager { DISABLE_MATERIAL_LOADING_FFS=false; TURRET_DAMAGE_FACTOR = 10; TURRET_EXPLOSION_FACTOR = 1; + TESLA_MULTI_MIN_EFFICIENCY = 0.955F; + TESLA_MULTI_MAX_EFFICIENCY = 0.98F; + TESLA_MULTI_OVERDRIVE_LOSS = 0.005F; + TESLA_SINGLE_MIN_EFFICIENCY = 0.91F; + TESLA_SINGLE_MAX_EFFICIENCY = 0.95F; + TESLA_SINGLE_OVERDRIVE_LOSS = 0.010F; } @@ -60,6 +74,18 @@ public class TecTechConfig extends ConfigManager { "Explosion strength is multiplied by this number"); DISABLE_MATERIAL_LOADING_FFS = _mainConfig.getBoolean("DisableMaterialLoading", "Debug", DISABLE_MATERIAL_LOADING_FFS, "Set to true to disable gregtech material processing"); + TESLA_MULTI_MIN_EFFICIENCY = _mainConfig.getFloat("teslaMultiMinEfficency", "Features", TESLA_MULTI_MIN_EFFICIENCY, 0, 1, + "Worst possible power loss per block for the multi block tesla"); + TESLA_MULTI_MAX_EFFICIENCY = _mainConfig.getFloat("teslaMultiMaxEfficency", "Features", TESLA_MULTI_MAX_EFFICIENCY, 0, 1, + "Best possible power loss per block for the multi block tesla"); + TESLA_MULTI_OVERDRIVE_LOSS = _mainConfig.getFloat("teslaMultiOverdriveLoss", "Features", TESLA_MULTI_OVERDRIVE_LOSS, 0, 1, + "Additional losses for overdrive use on the multi block tesla"); + TESLA_SINGLE_MIN_EFFICIENCY = _mainConfig.getFloat("teslaSingleMinEfficency", "Features", TESLA_SINGLE_MIN_EFFICIENCY, 0, 1, + "Worst possible power loss per block for the single block tesla"); + TESLA_SINGLE_MAX_EFFICIENCY = _mainConfig.getFloat("teslaSingleMaxEfficency", "Features", TESLA_SINGLE_MAX_EFFICIENCY, 0, 1, + "Best possible power loss per block for the single block tesla"); + TESLA_SINGLE_OVERDRIVE_LOSS = _mainConfig.getFloat("teslaSingleOverdriveLoss", "Features", TESLA_SINGLE_OVERDRIVE_LOSS, 0, 1, + "Additional losses for overdrive use on the single block tesla"); } /** diff --git a/src/main/java/com/github/technus/tectech/loader/recipe/BloodyRecipeLoader.java b/src/main/java/com/github/technus/tectech/loader/recipe/BloodyRecipeLoader.java index 89b6eb1a56..a1d400ed54 100644 --- a/src/main/java/com/github/technus/tectech/loader/recipe/BloodyRecipeLoader.java +++ b/src/main/java/com/github/technus/tectech/loader/recipe/BloodyRecipeLoader.java @@ -39,8 +39,6 @@ public class BloodyRecipeLoader implements Runnable { GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Silver, 6) }, Materials.Polytetrafluoroethylene.getMolten(144), CustomItemList.DATApipe.get(1), 200, 30720); - //endregion - //Tunnel GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ CustomItemList.DATApipe.get(1), @@ -50,16 +48,15 @@ public class BloodyRecipeLoader implements Runnable { ItemList.Field_Generator_MV.get(1), ItemList.Circuit_Quantummainframe.get(1) }, Materials.Osmium.getMolten(288), CustomItemList.EMpipe.get(1), 400, 491520); - + //Laser GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ CustomItemList.DATApipe.get(1), GT_ModHandler.getIC2Item("reinforcedGlass", 1L), GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Osmium, 2) }, null, CustomItemList.LASERpipe.get(1), 100, 500000); - - //endregoin + //endregion //region casing @@ -110,7 +107,7 @@ public class BloodyRecipeLoader implements Runnable { //Hollow Casing TT_recipeAdder.addResearchableAssemblylineRecipe(CustomItemList.eM_Containment.get(1), - 12000,32, 500000, 6, new ItemStack[]{ + 12000, 32, 500000, 6, new ItemStack[]{ CustomItemList.eM_Containment.get(1), GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Neutronium, 8), GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Plutonium, 2), @@ -126,10 +123,10 @@ public class BloodyRecipeLoader implements Runnable { //EM Coil TT_recipeAdder.addResearchableAssemblylineRecipe(CustomItemList.eM_Hollow.get(1), - 48000,128, 1000000, 16, new ItemStack[]{ + 48000, 128, 1000000, 16, new ItemStack[]{ CustomItemList.eM_Hollow.get(1), ItemList.Casing_Fusion_Coil.get(4), - ItemList.Casing_Coil_NaquadahAlloy.get( 4), + ItemList.Casing_Coil_NaquadahAlloy.get(4), GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Neutronium, 8), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Americium, 16), }, new FluidStack[]{ @@ -139,123 +136,178 @@ public class BloodyRecipeLoader implements Runnable { Materials.Americium.getMolten(1296), }, CustomItemList.eM_Coil.get(4), 800, 2000000); - //endregion + //Tesla Base + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.NickelZincFerrite, 6), + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.NickelZincFerrite, 1) + }, null, CustomItemList.tM_TeslaBase.get(1), 50, 16); + GT_ModHandler.addCraftingRecipe(CustomItemList.tM_TeslaBase.get(1), + GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, + new Object[]{"PhP", "PFP", "PwP", + 'P', OrePrefixes.plate.get(Materials.NickelZincFerrite), + 'F', OrePrefixes.frameGt.get(Materials.NickelZincFerrite)}); + //Tesla Toroid + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 6), + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Aluminium, 1) + }, null, CustomItemList.tM_TeslaToroid.get(1), 50, 16); + GT_ModHandler.addCraftingRecipe(CustomItemList.tM_TeslaToroid.get(1), + GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, + new Object[]{"PhP", "PFP", "PwP", + 'P', OrePrefixes.foil.get(Materials.Aluminium), + 'F', OrePrefixes.frameGt.get(Materials.Aluminium)}); + //Tesla Secondary Windings + GT_ModHandler.addCraftingRecipe(CustomItemList.tM_TeslaSecondary.get(1), + GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, + new Object[]{"WWW", "WwW", "WWW", + 'W', CustomItemList.teslaComponent.getWithDamage(1, 0)}); + //Tesla Primary Coils T0 + GT_ModHandler.addCraftingRecipe(CustomItemList.tM_TeslaPrimary_0.get(1), + GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, + new Object[]{"WWW", "WwW", "WWW", + 'W', OrePrefixes.wireGt02.get(Materials.RedstoneAlloy)}); + //Tesla Primary Coils T1 + GT_ModHandler.addCraftingRecipe(CustomItemList.tM_TeslaPrimary_1.get(1), + GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, + new Object[]{"WWW", "WwW", "WWW", + 'W', OrePrefixes.wireGt02.get(Materials.SuperconductorMV)}); + //Tesla Primary Coils T2 + GT_ModHandler.addCraftingRecipe(CustomItemList.tM_TeslaPrimary_2.get(1), + GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, + new Object[]{"WWW", "WwW", "WWW", + 'W', OrePrefixes.wireGt02.get(Materials.SuperconductorHV)}); + //Tesla Primary Coils T3 + GT_ModHandler.addCraftingRecipe(CustomItemList.tM_TeslaPrimary_3.get(1), + GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, + new Object[]{"WWW", "WwW", "WWW", + 'W', OrePrefixes.wireGt02.get(Materials.SuperconductorEV)}); + //Tesla Primary Coils T4 + GT_ModHandler.addCraftingRecipe(CustomItemList.tM_TeslaPrimary_4.get(1), + GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, + new Object[]{"WWW", "WwW", "WWW", + 'W', OrePrefixes.wireGt02.get(Materials.SuperconductorIV)}); + //Tesla Primary Coils T5 + GT_ModHandler.addCraftingRecipe(CustomItemList.tM_TeslaPrimary_5.get(1), + GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, + new Object[]{"WWW", "WwW", "WWW", + 'W', OrePrefixes.wireGt02.get(Materials.SuperconductorLuV)}); + //endregion //region hatches //Dynamo Hatches IV-UIV GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - ItemList.Hatch_Dynamo_IV.get(1), - GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Tungsten, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TungstenSteel, 2)}, + ItemList.Hatch_Dynamo_IV.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Tungsten, 2), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TungstenSteel, 2)}, Materials.Silver.getMolten(144), CustomItemList.eM_dynamoMulti4_IV.get(1), 100, 1920); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - CustomItemList.eM_dynamoMulti4_IV.get(1), - GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Tungsten, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TungstenSteel, 4)}, + CustomItemList.eM_dynamoMulti4_IV.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Tungsten, 2), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TungstenSteel, 4)}, Materials.Electrum.getMolten(144), CustomItemList.eM_dynamoMulti16_IV.get(1), 200, 1920); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - CustomItemList.eM_dynamoMulti16_IV.get(1), - GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.Tungsten, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TungstenSteel, 6)}, + CustomItemList.eM_dynamoMulti16_IV.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.Tungsten, 2), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TungstenSteel, 6)}, Materials.Tungsten.getMolten(144), CustomItemList.eM_dynamoMulti64_IV.get(1), 400, 1920); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - ItemList.Hatch_Dynamo_LuV.get(1), - GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.VanadiumGallium, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Chrome, 2)}, + ItemList.Hatch_Dynamo_LuV.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.VanadiumGallium, 2), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Chrome, 2)}, Materials.Silver.getMolten(288), CustomItemList.eM_dynamoMulti4_LuV.get(1), 100, 7860); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - CustomItemList.eM_dynamoMulti4_LuV.get(1), - GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.VanadiumGallium, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Chrome, 4)}, + CustomItemList.eM_dynamoMulti4_LuV.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.VanadiumGallium, 2), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Chrome, 4)}, Materials.Electrum.getMolten(288), CustomItemList.eM_dynamoMulti16_LuV.get(1), 200, 7860); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - CustomItemList.eM_dynamoMulti16_LuV.get(1), - GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.VanadiumGallium, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Chrome, 6)}, + CustomItemList.eM_dynamoMulti16_LuV.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.VanadiumGallium, 2), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Chrome, 6)}, Materials.Tungsten.getMolten(288), CustomItemList.eM_dynamoMulti64_LuV.get(1), 400, 7860); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - ItemList.Hatch_Dynamo_ZPM.get(1), - GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Naquadah, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iridium, 2)}, + ItemList.Hatch_Dynamo_ZPM.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Naquadah, 2), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iridium, 2)}, Materials.Silver.getMolten(576), CustomItemList.eM_dynamoMulti4_ZPM.get(1), 100, 30720); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - CustomItemList.eM_dynamoMulti4_ZPM.get(1), - GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Naquadah, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iridium, 4)}, + CustomItemList.eM_dynamoMulti4_ZPM.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Naquadah, 2), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iridium, 4)}, Materials.Electrum.getMolten(576), CustomItemList.eM_dynamoMulti16_ZPM.get(1), 200, 30720); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - CustomItemList.eM_dynamoMulti16_ZPM.get(1), - GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.Naquadah, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iridium, 6)}, + CustomItemList.eM_dynamoMulti16_ZPM.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.Naquadah, 2), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iridium, 6)}, Materials.Tungsten.getMolten(576), CustomItemList.eM_dynamoMulti64_ZPM.get(1), 400, 30720); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - ItemList.Hatch_Dynamo_UV.get(1), - GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.NaquadahAlloy, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Osmium, 2)}, + ItemList.Hatch_Dynamo_UV.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.NaquadahAlloy, 2), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Osmium, 2)}, Materials.Silver.getMolten(1152), CustomItemList.eM_dynamoMulti4_UV.get(1), 100, 122880); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - CustomItemList.eM_dynamoMulti4_UV.get(1), - GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.NaquadahAlloy, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Osmium, 4)}, + CustomItemList.eM_dynamoMulti4_UV.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.NaquadahAlloy, 2), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Osmium, 4)}, Materials.Electrum.getMolten(1152), CustomItemList.eM_dynamoMulti16_UV.get(1), 200, 122880); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - CustomItemList.eM_dynamoMulti16_UV.get(1), - GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.NaquadahAlloy, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Osmium, 6)}, + CustomItemList.eM_dynamoMulti16_UV.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.NaquadahAlloy, 2), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Osmium, 6)}, Materials.Tungsten.getMolten(1152), CustomItemList.eM_dynamoMulti64_UV.get(1), 400, 122880); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - ItemList.Hatch_Dynamo_MAX.get(1), - GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Superconductor, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 2)}, + ItemList.Hatch_Dynamo_MAX.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Superconductor, 2), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 2)}, Materials.Silver.getMolten(2304), CustomItemList.eM_dynamoMulti4_UHV.get(1), 100, 500000); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - CustomItemList.eM_dynamoMulti4_UHV.get(1), - GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Superconductor, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 4)}, + CustomItemList.eM_dynamoMulti4_UHV.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Superconductor, 2), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 4)}, Materials.Electrum.getMolten(2304), CustomItemList.eM_dynamoMulti16_UHV.get(1), 200, 500000); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - CustomItemList.eM_dynamoMulti16_UHV.get(1), - GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.Superconductor, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 6)}, + CustomItemList.eM_dynamoMulti16_UHV.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.Superconductor, 2), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 6)}, Materials.Tungsten.getMolten(2304), CustomItemList.eM_dynamoMulti64_UHV.get(1), 400, 500000); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - ItemList.Hatch_Dynamo_MAX.get(4), - GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Superconductor, 8), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 8)}, + ItemList.Hatch_Dynamo_MAX.get(4), + GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Superconductor, 8), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 8)}, Materials.Silver.getMolten(4608), CustomItemList.eM_dynamoMulti4_UEV.get(1), 500, 500000); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - CustomItemList.eM_dynamoMulti4_UEV.get(1), - GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Superconductor, 8), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 16)}, + CustomItemList.eM_dynamoMulti4_UEV.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Superconductor, 8), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 16)}, Materials.Electrum.getMolten(4608), CustomItemList.eM_dynamoMulti16_UEV.get(1), 1000, 500000); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - CustomItemList.eM_dynamoMulti16_UEV.get(1), - GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.Superconductor, 8), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 24)}, + CustomItemList.eM_dynamoMulti16_UEV.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.Superconductor, 8), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 24)}, Materials.Tungsten.getMolten(4608), CustomItemList.eM_dynamoMulti64_UEV.get(1), 2000, 500000); @@ -280,184 +332,184 @@ public class BloodyRecipeLoader implements Runnable { CustomItemList.eM_energyMulti64_IV.get(1), 400, 7680); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - ItemList.Hatch_Energy_LuV.get(1), - GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.VanadiumGallium, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Chrome, 2)}, + ItemList.Hatch_Energy_LuV.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.VanadiumGallium, 2), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Chrome, 2)}, Materials.Silver.getMolten(288), CustomItemList.eM_energyMulti4_LuV.get(1), 100, 30720); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - CustomItemList.eM_energyMulti4_LuV.get(1), - GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.VanadiumGallium, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Chrome, 4)}, + CustomItemList.eM_energyMulti4_LuV.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.VanadiumGallium, 2), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Chrome, 4)}, Materials.Electrum.getMolten(288), CustomItemList.eM_energyMulti16_LuV.get(1), 200, 30720); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - CustomItemList.eM_energyMulti16_LuV.get(1), - GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.VanadiumGallium, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Chrome, 6)}, + CustomItemList.eM_energyMulti16_LuV.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.VanadiumGallium, 2), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Chrome, 6)}, Materials.Tungsten.getMolten(288), CustomItemList.eM_energyMulti64_LuV.get(1), 400, 30720); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - ItemList.Hatch_Energy_ZPM.get(1), - GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Naquadah, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iridium, 2)}, + ItemList.Hatch_Energy_ZPM.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Naquadah, 2), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iridium, 2)}, Materials.Silver.getMolten(576), CustomItemList.eM_energyMulti4_ZPM.get(1), 100, 122880); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - CustomItemList.eM_energyMulti4_ZPM.get(1), - GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Naquadah, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iridium, 4)}, + CustomItemList.eM_energyMulti4_ZPM.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Naquadah, 2), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iridium, 4)}, Materials.Electrum.getMolten(576), CustomItemList.eM_energyMulti16_ZPM.get(1), 200, 122880); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - CustomItemList.eM_energyMulti16_ZPM.get(1), - GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.Naquadah, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iridium, 6)}, + CustomItemList.eM_energyMulti16_ZPM.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.Naquadah, 2), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iridium, 6)}, Materials.Tungsten.getMolten(576), CustomItemList.eM_energyMulti64_ZPM.get(1), 400, 122880); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - ItemList.Hatch_Energy_UV.get(1), - GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.NaquadahAlloy, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Osmium, 2)}, + ItemList.Hatch_Energy_UV.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.NaquadahAlloy, 2), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Osmium, 2)}, Materials.Silver.getMolten(1152), CustomItemList.eM_energyMulti4_UV.get(1), 100, 500000); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - CustomItemList.eM_energyMulti4_UV.get(1), - GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.NaquadahAlloy, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Osmium, 4)}, + CustomItemList.eM_energyMulti4_UV.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.NaquadahAlloy, 2), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Osmium, 4)}, Materials.Electrum.getMolten(1152), CustomItemList.eM_energyMulti16_UV.get(1), 200, 500000); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - CustomItemList.eM_energyMulti16_UV.get(1), - GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.NaquadahAlloy, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Osmium, 6)}, + CustomItemList.eM_energyMulti16_UV.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.NaquadahAlloy, 2), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Osmium, 6)}, Materials.Tungsten.getMolten(1152), CustomItemList.eM_energyMulti64_UV.get(1), 400, 500000); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - ItemList.Hatch_Energy_MAX.get(1), - GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Superconductor, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 2)}, + ItemList.Hatch_Energy_MAX.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Superconductor, 2), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 2)}, Materials.Silver.getMolten(2304), CustomItemList.eM_energyMulti4_UHV.get(1), 100, 500000); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - CustomItemList.eM_energyMulti4_UHV.get(1), - GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Superconductor, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 4)}, + CustomItemList.eM_energyMulti4_UHV.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Superconductor, 2), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 4)}, Materials.Electrum.getMolten(2304), CustomItemList.eM_energyMulti16_UHV.get(1), 200, 500000); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - CustomItemList.eM_energyMulti16_UHV.get(1), - GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.Superconductor, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 6)}, + CustomItemList.eM_energyMulti16_UHV.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.Superconductor, 2), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 6)}, Materials.Tungsten.getMolten(2304), CustomItemList.eM_energyMulti64_UHV.get(1), 400, 500000); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - ItemList.Hatch_Energy_MAX.get(4), - GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Superconductor, 8), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 8)}, - Materials.Silver.getMolten(4608), - CustomItemList.eM_energyMulti4_UEV.get(1), 100, 2000000); + ItemList.Hatch_Energy_MAX.get(4), + GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Superconductor, 8), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 8)}, + Materials.Silver.getMolten(4608), + CustomItemList.eM_energyMulti4_UEV.get(1), 100, 2000000); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - CustomItemList.eM_energyMulti4_UEV.get(1), - GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Superconductor, 8), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 16)}, - Materials.Electrum.getMolten(4608), - CustomItemList.eM_energyMulti16_UEV.get(1), 200, 2000000); + CustomItemList.eM_energyMulti4_UEV.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Superconductor, 8), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 16)}, + Materials.Electrum.getMolten(4608), + CustomItemList.eM_energyMulti16_UEV.get(1), 200, 2000000); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ - CustomItemList.eM_energyMulti16_UEV.get(1), - GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.Superconductor, 8), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 24)}, - Materials.Tungsten.getMolten(4608), - CustomItemList.eM_energyMulti64_UEV.get(1), 400, 2000000); + CustomItemList.eM_energyMulti16_UEV.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.Superconductor, 8), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 24)}, + Materials.Tungsten.getMolten(4608), + CustomItemList.eM_energyMulti64_UEV.get(1), 400, 2000000); //Laser Dynamo IV-UV 256/t GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_IV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1), ItemList.Emitter_IV.get(1), ItemList.Electric_Pump_IV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.TungstenSteel, 2), GT_Utility.getIntegratedCircuit(1)}, null, CustomItemList.eM_dynamoTunnel1_IV.get(1), 1000, 7680); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_LuV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1), ItemList.Emitter_LuV.get(1), ItemList.Electric_Pump_LuV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.VanadiumGallium, 2), GT_Utility.getIntegratedCircuit(1)}, null, CustomItemList.eM_dynamoTunnel1_LuV.get(1), 1000, 30720); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_ZPM.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1), ItemList.Emitter_ZPM.get(1), ItemList.Electric_Pump_ZPM.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Naquadah, 2), GT_Utility.getIntegratedCircuit(1)}, null, CustomItemList.eM_dynamoTunnel1_ZPM.get(1), 1000, 122880); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_UV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1), ItemList.Emitter_UV.get(1), ItemList.Electric_Pump_UV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.NaquadahAlloy, 2), GT_Utility.getIntegratedCircuit(1)}, null, CustomItemList.eM_dynamoTunnel1_UV.get(1), 1000, 500000); - + //Laser Dynamo IV-UV 1024/t GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_IV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2), ItemList.Emitter_IV.get(2), ItemList.Electric_Pump_IV.get(2), GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.TungstenSteel, 4), GT_Utility.getIntegratedCircuit(2)}, null, CustomItemList.eM_dynamoTunnel2_IV.get(1), 2000, 7680); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_LuV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2), ItemList.Emitter_LuV.get(2), ItemList.Electric_Pump_LuV.get(2), GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.VanadiumGallium, 4), GT_Utility.getIntegratedCircuit(2)}, null, CustomItemList.eM_dynamoTunnel2_LuV.get(1), 2000, 30720); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_ZPM.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2), ItemList.Emitter_ZPM.get(2), ItemList.Electric_Pump_ZPM.get(2), GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Naquadah, 4), GT_Utility.getIntegratedCircuit(2)}, null, CustomItemList.eM_dynamoTunnel2_ZPM.get(1), 2000, 122880); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_UV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2), ItemList.Emitter_UV.get(2), ItemList.Electric_Pump_UV.get(2), GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.NaquadahAlloy, 4), GT_Utility.getIntegratedCircuit(2)}, null, CustomItemList.eM_dynamoTunnel2_UV.get(1), 2000, 500000); - + //Laser Dynamo IV-UV 4096/t GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_IV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4), ItemList.Emitter_IV.get(4), ItemList.Electric_Pump_IV.get(4), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.TungstenSteel, 4), GT_Utility.getIntegratedCircuit(3)}, null, CustomItemList.eM_dynamoTunnel3_IV.get(1), 4000, 7680); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_LuV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4), ItemList.Emitter_LuV.get(4), ItemList.Electric_Pump_LuV.get(4), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.VanadiumGallium, 4), GT_Utility.getIntegratedCircuit(3)}, null, CustomItemList.eM_dynamoTunnel3_LuV.get(1), 4000, 30720); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_ZPM.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4), ItemList.Emitter_ZPM.get(4), ItemList.Electric_Pump_ZPM.get(4), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Naquadah, 4), GT_Utility.getIntegratedCircuit(3)}, null, CustomItemList.eM_dynamoTunnel3_ZPM.get(1), 4000, 122880); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_UV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4), ItemList.Emitter_UV.get(4), ItemList.Electric_Pump_UV.get(4), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.NaquadahAlloy, 4), GT_Utility.getIntegratedCircuit(3)}, null, CustomItemList.eM_dynamoTunnel3_UV.get(1), 4000, 500000); - + //Laser Dynamo IV-UV 16384/t GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_IV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 8), ItemList.Emitter_IV.get(8), ItemList.Electric_Pump_IV.get(8), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.TungstenSteel, 8), GT_Utility.getIntegratedCircuit(4)}, null, CustomItemList.eM_dynamoTunnel4_IV.get(1), 8000, 7680); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_LuV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 8), ItemList.Emitter_LuV.get(8), ItemList.Electric_Pump_LuV.get(8), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.VanadiumGallium, 8), GT_Utility.getIntegratedCircuit(4)}, null, CustomItemList.eM_dynamoTunnel4_LuV.get(1), 8000, 30720); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_ZPM.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 8), ItemList.Emitter_ZPM.get(8), ItemList.Electric_Pump_ZPM.get(8), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Naquadah, 8), GT_Utility.getIntegratedCircuit(4)}, null, CustomItemList.eM_dynamoTunnel4_ZPM.get(1), 8000, 122880); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_UV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 8), ItemList.Emitter_UV.get(8), ItemList.Electric_Pump_UV.get(8), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.NaquadahAlloy, 8), GT_Utility.getIntegratedCircuit(4)}, null, CustomItemList.eM_dynamoTunnel4_UV.get(1), 8000, 500000); - + //Laser Dynamo IV-UV 65536/t GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_IV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16), ItemList.Emitter_IV.get(16), ItemList.Electric_Pump_IV.get(16), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.TungstenSteel, 8), GT_Utility.getIntegratedCircuit(5)}, null, CustomItemList.eM_dynamoTunnel5_IV.get(1), 16000, 7680); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_LuV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16), ItemList.Emitter_LuV.get(16), ItemList.Electric_Pump_LuV.get(16), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.VanadiumGallium, 8), GT_Utility.getIntegratedCircuit(5)}, null, CustomItemList.eM_dynamoTunnel5_LuV.get(1), 16000, 30720); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_ZPM.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16), ItemList.Emitter_ZPM.get(16), ItemList.Electric_Pump_ZPM.get(16), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Naquadah, 8), GT_Utility.getIntegratedCircuit(5)}, null, CustomItemList.eM_dynamoTunnel5_ZPM.get(1), 16000, 122880); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_UV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16), ItemList.Emitter_UV.get(16), ItemList.Electric_Pump_UV.get(16), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.NaquadahAlloy, 8), GT_Utility.getIntegratedCircuit(5)}, null, CustomItemList.eM_dynamoTunnel5_UV.get(1), 16000, 500000); - + //Laser Dynamo IV-UV 262144/t GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_IV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32), ItemList.Emitter_IV.get(32), ItemList.Electric_Pump_IV.get(32), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.TungstenSteel, 16), GT_Utility.getIntegratedCircuit(6)}, null, CustomItemList.eM_dynamoTunnel6_IV.get(1), 32000, 7680); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_LuV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32), ItemList.Emitter_LuV.get(32), ItemList.Electric_Pump_LuV.get(32), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.VanadiumGallium, 16), GT_Utility.getIntegratedCircuit(6)}, null, CustomItemList.eM_dynamoTunnel6_LuV.get(1), 32000, 30720); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_ZPM.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32), ItemList.Emitter_ZPM.get(32), ItemList.Electric_Pump_ZPM.get(32), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Naquadah, 16), GT_Utility.getIntegratedCircuit(6)}, null, CustomItemList.eM_dynamoTunnel6_ZPM.get(1), 32000, 122880); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_UV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32), ItemList.Emitter_UV.get(32), ItemList.Electric_Pump_UV.get(32), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.NaquadahAlloy, 16), GT_Utility.getIntegratedCircuit(6)}, null, CustomItemList.eM_dynamoTunnel6_UV.get(1), 32000, 500000); - + //Laser Dynamo IV-UV 1048576/t GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_IV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64), ItemList.Emitter_IV.get(64), ItemList.Electric_Pump_IV.get(64), GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.TungstenSteel, 16), GT_Utility.getIntegratedCircuit(7)}, null, CustomItemList.eM_dynamoTunnel7_IV.get(1), 64000, 7680); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_LuV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64), ItemList.Emitter_LuV.get(64), ItemList.Electric_Pump_LuV.get(64), GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.VanadiumGallium, 16), GT_Utility.getIntegratedCircuit(7)}, null, CustomItemList.eM_dynamoTunnel7_LuV.get(1), 64000, 30720); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_ZPM.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64), ItemList.Emitter_ZPM.get(64), ItemList.Electric_Pump_ZPM.get(64), GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.Naquadah, 16), GT_Utility.getIntegratedCircuit(7)}, null, CustomItemList.eM_dynamoTunnel7_ZPM.get(1), 64000, 122880); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_UV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64), ItemList.Emitter_UV.get(64), ItemList.Electric_Pump_UV.get(64), GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.NaquadahAlloy, 16), GT_Utility.getIntegratedCircuit(7)}, null, CustomItemList.eM_dynamoTunnel7_UV.get(1), 64000, 500000); - + //Laser Target IV-UV 256/t GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_IV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1), ItemList.Sensor_IV.get(1), ItemList.Electric_Pump_IV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.TungstenSteel, 2), GT_Utility.getIntegratedCircuit(1)}, null, CustomItemList.eM_energyTunnel1_IV.get(1), 1000, 7680); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_LuV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1), ItemList.Sensor_LuV.get(1), ItemList.Electric_Pump_LuV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.VanadiumGallium, 2), GT_Utility.getIntegratedCircuit(1)}, null, CustomItemList.eM_energyTunnel1_LuV.get(1), 1000, 30720); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_ZPM.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1), ItemList.Sensor_ZPM.get(1), ItemList.Electric_Pump_ZPM.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Naquadah, 2), GT_Utility.getIntegratedCircuit(1)}, null, CustomItemList.eM_energyTunnel1_ZPM.get(1), 1000, 122880); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_UV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1), ItemList.Sensor_UV.get(1), ItemList.Electric_Pump_UV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.NaquadahAlloy, 2), GT_Utility.getIntegratedCircuit(1)}, null, CustomItemList.eM_energyTunnel1_UV.get(1), 1000, 500000); - + //Laser Target IV-UV 1024/t GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_IV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2), ItemList.Sensor_IV.get(2), ItemList.Electric_Pump_IV.get(2), GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.TungstenSteel, 4), GT_Utility.getIntegratedCircuit(2)}, null, CustomItemList.eM_energyTunnel2_IV.get(1), 2000, 7680); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_LuV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2), ItemList.Sensor_LuV.get(2), ItemList.Electric_Pump_LuV.get(2), GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.VanadiumGallium, 4), GT_Utility.getIntegratedCircuit(2)}, null, CustomItemList.eM_energyTunnel2_LuV.get(1), 2000, 30720); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_ZPM.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2), ItemList.Sensor_ZPM.get(2), ItemList.Electric_Pump_ZPM.get(2), GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Naquadah, 4), GT_Utility.getIntegratedCircuit(2)}, null, CustomItemList.eM_energyTunnel2_ZPM.get(1), 2000, 122880); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_UV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2), ItemList.Sensor_UV.get(2), ItemList.Electric_Pump_UV.get(2), GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.NaquadahAlloy, 4), GT_Utility.getIntegratedCircuit(2)}, null, CustomItemList.eM_energyTunnel2_UV.get(1), 2000, 500000); - + //Laser Target IV-UV 4096/t GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_IV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4), ItemList.Sensor_IV.get(4), ItemList.Electric_Pump_IV.get(4), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.TungstenSteel, 4), GT_Utility.getIntegratedCircuit(3)}, null, CustomItemList.eM_energyTunnel3_IV.get(1), 4000, 7680); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_LuV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4), ItemList.Sensor_LuV.get(4), ItemList.Electric_Pump_LuV.get(4), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.VanadiumGallium, 4), GT_Utility.getIntegratedCircuit(3)}, null, CustomItemList.eM_energyTunnel3_LuV.get(1), 4000, 30720); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_ZPM.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4), ItemList.Sensor_ZPM.get(4), ItemList.Electric_Pump_ZPM.get(4), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Naquadah, 4), GT_Utility.getIntegratedCircuit(3)}, null, CustomItemList.eM_energyTunnel3_ZPM.get(1), 4000, 122880); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_UV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4), ItemList.Sensor_UV.get(4), ItemList.Electric_Pump_UV.get(4), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.NaquadahAlloy, 4), GT_Utility.getIntegratedCircuit(3)}, null, CustomItemList.eM_energyTunnel3_UV.get(1), 4000, 500000); - + //Laser Target IV-UV 16384/t GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_IV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 8), ItemList.Sensor_IV.get(8), ItemList.Electric_Pump_IV.get(8), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.TungstenSteel, 8), GT_Utility.getIntegratedCircuit(4)}, null, CustomItemList.eM_energyTunnel4_IV.get(1), 8000, 7680); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_LuV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 8), ItemList.Sensor_LuV.get(8), ItemList.Electric_Pump_LuV.get(8), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.VanadiumGallium, 8), GT_Utility.getIntegratedCircuit(4)}, null, CustomItemList.eM_energyTunnel4_LuV.get(1), 8000, 30720); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_ZPM.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 8), ItemList.Sensor_ZPM.get(8), ItemList.Electric_Pump_ZPM.get(8), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Naquadah, 8), GT_Utility.getIntegratedCircuit(4)}, null, CustomItemList.eM_energyTunnel4_ZPM.get(1), 8000, 122880); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_UV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 8), ItemList.Sensor_UV.get(8), ItemList.Electric_Pump_UV.get(8), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.NaquadahAlloy, 8), GT_Utility.getIntegratedCircuit(4)}, null, CustomItemList.eM_energyTunnel4_UV.get(1), 8000, 500000); - + //Laser Target IV-UV 65536/t GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_IV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16), ItemList.Sensor_IV.get(16), ItemList.Electric_Pump_IV.get(16), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.TungstenSteel, 8), GT_Utility.getIntegratedCircuit(5)}, null, CustomItemList.eM_energyTunnel5_IV.get(1), 16000, 7680); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_LuV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16), ItemList.Sensor_LuV.get(16), ItemList.Electric_Pump_LuV.get(16), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.VanadiumGallium, 8), GT_Utility.getIntegratedCircuit(5)}, null, CustomItemList.eM_energyTunnel5_LuV.get(1), 16000, 30720); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_ZPM.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16), ItemList.Sensor_ZPM.get(16), ItemList.Electric_Pump_ZPM.get(16), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Naquadah, 8), GT_Utility.getIntegratedCircuit(5)}, null, CustomItemList.eM_energyTunnel5_ZPM.get(1), 16000, 122880); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_UV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16), ItemList.Sensor_UV.get(16), ItemList.Electric_Pump_UV.get(16), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.NaquadahAlloy, 8), GT_Utility.getIntegratedCircuit(5)}, null, CustomItemList.eM_energyTunnel5_UV.get(1), 16000, 500000); - + //Laser Target IV-UV 262144/t GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_IV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32), ItemList.Sensor_IV.get(32), ItemList.Electric_Pump_IV.get(32), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.TungstenSteel, 16), GT_Utility.getIntegratedCircuit(6)}, null, CustomItemList.eM_energyTunnel6_IV.get(1), 32000, 7680); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_LuV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32), ItemList.Sensor_LuV.get(32), ItemList.Electric_Pump_LuV.get(32), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.VanadiumGallium, 16), GT_Utility.getIntegratedCircuit(6)}, null, CustomItemList.eM_energyTunnel6_LuV.get(1), 32000, 30720); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_ZPM.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32), ItemList.Sensor_ZPM.get(32), ItemList.Electric_Pump_ZPM.get(32), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Naquadah, 16), GT_Utility.getIntegratedCircuit(6)}, null, CustomItemList.eM_energyTunnel6_ZPM.get(1), 32000, 122880); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_UV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32), ItemList.Sensor_UV.get(32), ItemList.Electric_Pump_UV.get(32), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.NaquadahAlloy, 16), GT_Utility.getIntegratedCircuit(6)}, null, CustomItemList.eM_energyTunnel6_UV.get(1), 32000, 500000); - + //Laser Target IV-UV 1048576/t GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_IV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64), ItemList.Sensor_IV.get(64), ItemList.Electric_Pump_IV.get(64), GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.TungstenSteel, 16), GT_Utility.getIntegratedCircuit(7)}, null, CustomItemList.eM_energyTunnel7_IV.get(1), 64000, 7680); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_LuV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64), ItemList.Sensor_LuV.get(64), ItemList.Electric_Pump_LuV.get(64), GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.VanadiumGallium, 16), GT_Utility.getIntegratedCircuit(7)}, null, CustomItemList.eM_energyTunnel7_LuV.get(1), 64000, 30720); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_ZPM.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64), ItemList.Sensor_ZPM.get(64), ItemList.Electric_Pump_ZPM.get(64), GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.Naquadah, 16), GT_Utility.getIntegratedCircuit(7)}, null, CustomItemList.eM_energyTunnel7_ZPM.get(1), 64000, 122880); GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_UV.get(1), GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64), ItemList.Sensor_UV.get(64), ItemList.Electric_Pump_UV.get(64), GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.NaquadahAlloy, 16), GT_Utility.getIntegratedCircuit(7)}, null, CustomItemList.eM_energyTunnel7_UV.get(1), 64000, 500000); - + //Data Input GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ CustomItemList.eM_Computer_Casing.get(1), @@ -503,7 +555,7 @@ public class BloodyRecipeLoader implements Runnable { CustomItemList.eM_Computer_Casing.get(1), ItemList.Circuit_Masterquantumcomputer.get(1), CustomItemList.DATApipe.get(4), - ItemList.Cover_Screen.get(1 ), + ItemList.Cover_Screen.get(1), new ItemStack(Blocks.stone_button, 16), }, Materials.Iridium.getMolten(2592), CustomItemList.Parametrizer_Hatch.get(1), 800, 122880); //Uncertainty @@ -511,7 +563,7 @@ public class BloodyRecipeLoader implements Runnable { CustomItemList.eM_Computer_Casing.get(1), ItemList.Circuit_Ultimatecrystalcomputer.get(1), CustomItemList.DATApipe.get(16), - ItemList.Cover_Screen.get(1 ), + ItemList.Cover_Screen.get(1), new ItemStack(Blocks.stone_button, 16), }, Materials.Iridium.getMolten(2592), CustomItemList.Uncertainty_Hatch.get(1), 1200, 122880); @@ -537,11 +589,31 @@ public class BloodyRecipeLoader implements Runnable { ItemList.Field_Generator_UV.get(1) }, Materials.Osmiridium.getMolten(1296), CustomItemList.eM_muffler_UV.get(1), 800, 500000); - //endregion + //Capacitor Hatch + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Hatch_Input_Bus_HV.get(1), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.NickelZincFerrite, 4), + GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.Gold, 4), + }, Materials.Silver.getMolten(576), CustomItemList.capacitor_Hatch.get(1), 800, 480); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Hatch_Output_Bus_HV.get(1), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.NickelZincFerrite, 4), + GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.Gold, 4), + }, Materials.Silver.getMolten(576), CustomItemList.capacitor_Hatch.get(1), 800, 480); + //endregion //region multiblocks + //Tesla Coil + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + GT_ModHandler.getIC2Item("teslaCoil", 1), + CustomItemList.tM_TeslaSecondary.get(4), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.NickelZincFerrite, 4), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Advanced, 4), + ItemList.Upgrade_Overclocker.get(4), + }, Materials.Silver.getMolten(576), CustomItemList.Machine_Multi_TeslaCoil.get(1), 800, 480); + //Microwave Grinder GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ ItemList.Machine_HV_Microwave.get(1), @@ -602,7 +674,7 @@ public class BloodyRecipeLoader implements Runnable { //Matter Junction TT_recipeAdder.addResearchableAssemblylineRecipe(CustomItemList.Machine_Multi_Switch.get(1), - 8000,32, 500000, 4, new ItemStack[]{ + 8000, 32, 500000, 4, new ItemStack[]{ CustomItemList.Machine_Multi_Transformer.get(1), GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Naquadah, 16), ItemList.Robot_Arm_LuV.get(2), @@ -618,7 +690,7 @@ public class BloodyRecipeLoader implements Runnable { //Matter Quantizer TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Hatch_Input_UV.get(1), - 12000,32, 500000, 6, new ItemStack[]{ + 12000, 32, 500000, 6, new ItemStack[]{ CustomItemList.Machine_Multi_Transformer.get(1), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Naquadah, 16), ItemList.Emitter_UV.get(2), @@ -633,7 +705,7 @@ public class BloodyRecipeLoader implements Runnable { //Matter DeQuantizer TT_recipeAdder.addResearchableAssemblylineRecipe(ItemList.Hatch_Output_UV.get(1), - 12000,32, 500000, 6, new ItemStack[]{ + 12000, 32, 500000, 6, new ItemStack[]{ CustomItemList.Machine_Multi_Transformer.get(1), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Naquadah, 16), ItemList.Sensor_UV.get(2), @@ -648,7 +720,7 @@ public class BloodyRecipeLoader implements Runnable { //Essentia Quantizer TT_recipeAdder.addResearchableAssemblylineRecipe(CustomItemList.Machine_Multi_MatterToEM.get(1), - 15000,32, 500000, 8, new ItemStack[]{ + 15000, 32, 500000, 8, new ItemStack[]{ CustomItemList.Machine_Multi_MatterToEM.get(1), GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Neutronium, 8), ItemList.Emitter_UV.get(2), @@ -663,7 +735,7 @@ public class BloodyRecipeLoader implements Runnable { //Essentia DeQuantizer TT_recipeAdder.addResearchableAssemblylineRecipe(CustomItemList.Machine_Multi_EMToMatter.get(1), - 15000,32, 500000, 8, new ItemStack[]{ + 15000, 32, 500000, 8, new ItemStack[]{ CustomItemList.Machine_Multi_EMToMatter.get(1), GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Neutronium, 8), ItemList.Sensor_UV.get(2), @@ -678,13 +750,13 @@ public class BloodyRecipeLoader implements Runnable { //EM Scanner TT_recipeAdder.addResearchableAssemblylineRecipe(CustomItemList.Machine_Multi_Research.get(1), - 150000,128, 500000, 16, new ItemStack[]{ + 150000, 128, 500000, 16, new ItemStack[]{ CustomItemList.Machine_Multi_EMjunction.get(1), CustomItemList.eM_Computer_Bus.get(4), ItemList.Field_Generator_UV.get(4), ItemList.Sensor_UV.get(4), ItemList.Circuit_Wetwaresupercomputer.get(4),//? - GT_OreDictUnificator.get(OrePrefixes.lens,Materials.Diamond,32), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Superconductor, 16), }, new FluidStack[]{ Materials.UUMatter.getFluid(2000), @@ -695,10 +767,10 @@ public class BloodyRecipeLoader implements Runnable { //Multi Infuser TT_recipeAdder.addResearchableAssemblylineRecipe(CustomItemList.Machine_Multi_Transformer.get(1), - 192000,512, 2000000, 32, new ItemStack[]{ + 192000, 512, 2000000, 32, new ItemStack[]{ CustomItemList.Machine_Multi_Transformer.get(1), CustomItemList.eM_Coil.get(8), - CustomItemList.eM_Power.get( 8), + CustomItemList.eM_Power.get(8), GT_OreDictUnificator.get(OrePrefixes.screw, Materials.NeodymiumMagnetic, 16), }, new FluidStack[]{ Materials.Electrum.getMolten(2592), @@ -708,6 +780,450 @@ public class BloodyRecipeLoader implements Runnable { //endregion + //region singleblocks + + //Tesla Transceiver LV 1A + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_1by1_LV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.Lead.getMolten(576), + CustomItemList.Machine_TeslaCoil_1by1_LV.get(1), 400, 30); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_1by1_LV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.Tin.getMolten(288), + CustomItemList.Machine_TeslaCoil_1by1_LV.get(1), 400, 30); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_1by1_LV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.SolderingAlloy.getMolten(144), + CustomItemList.Machine_TeslaCoil_1by1_LV.get(1), 400, 30); + //Tesla Transceiver MV 1A + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_1by1_MV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.Lead.getMolten(576), + CustomItemList.Machine_TeslaCoil_1by1_MV.get(1), 400, 120); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_1by1_MV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.Tin.getMolten(288), + CustomItemList.Machine_TeslaCoil_1by1_MV.get(1), 400, 120); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_1by1_MV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.SolderingAlloy.getMolten(144), + CustomItemList.Machine_TeslaCoil_1by1_MV.get(1), 400, 120); + //Tesla Transceiver HV 1A + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_1by1_HV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.Lead.getMolten(576), + CustomItemList.Machine_TeslaCoil_1by1_HV.get(1), 400, 480); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_1by1_HV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.Tin.getMolten(288), + CustomItemList.Machine_TeslaCoil_1by1_HV.get(1), 400, 480); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_1by1_HV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.SolderingAlloy.getMolten(144), + CustomItemList.Machine_TeslaCoil_1by1_HV.get(1), 400, 480); + //Tesla Transceiver EV 1A + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_1by1_EV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.Lead.getMolten(576), + CustomItemList.Machine_TeslaCoil_1by1_EV.get(1), 400, 1920); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_1by1_EV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.Tin.getMolten(288), + CustomItemList.Machine_TeslaCoil_1by1_EV.get(1), 400, 1920); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_1by1_EV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.SolderingAlloy.getMolten(144), + CustomItemList.Machine_TeslaCoil_1by1_EV.get(1), 400, 1920); + //Tesla Transceiver IV 1A + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_1by1_IV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.Lead.getMolten(576), + CustomItemList.Machine_TeslaCoil_1by1_IV.get(1), 400, 7680); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_1by1_IV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.Tin.getMolten(288), + CustomItemList.Machine_TeslaCoil_1by1_IV.get(1), 400, 7680); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_1by1_IV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.SolderingAlloy.getMolten(144), + CustomItemList.Machine_TeslaCoil_1by1_IV.get(1), 400, 7680); + //Tesla Transceiver LV 4A + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_2by2_LV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.Lead.getMolten(576), + CustomItemList.Machine_TeslaCoil_2by2_LV.get(1), 400, 30); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_2by2_LV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.Tin.getMolten(288), + CustomItemList.Machine_TeslaCoil_2by2_LV.get(1), 400, 30); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_2by2_LV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.SolderingAlloy.getMolten(144), + CustomItemList.Machine_TeslaCoil_2by2_LV.get(1), 400, 30); + //Tesla Transceiver MV 4A + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_2by2_MV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.Lead.getMolten(576), + CustomItemList.Machine_TeslaCoil_2by2_MV.get(1), 400, 120); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_2by2_MV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.Tin.getMolten(288), + CustomItemList.Machine_TeslaCoil_2by2_MV.get(1), 400, 120); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_2by2_MV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.SolderingAlloy.getMolten(144), + CustomItemList.Machine_TeslaCoil_2by2_MV.get(1), 400, 120); + //Tesla Transceiver HV 4A + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_2by2_HV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.Lead.getMolten(576), + CustomItemList.Machine_TeslaCoil_2by2_HV.get(1), 400, 480); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_2by2_HV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.Tin.getMolten(288), + CustomItemList.Machine_TeslaCoil_2by2_HV.get(1), 400, 480); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_2by2_HV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.SolderingAlloy.getMolten(144), + CustomItemList.Machine_TeslaCoil_2by2_HV.get(1), 400, 480); + //Tesla Transceiver EV 4A + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_2by2_EV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.Lead.getMolten(576), + CustomItemList.Machine_TeslaCoil_2by2_EV.get(1), 400, 1920); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_2by2_EV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.Tin.getMolten(288), + CustomItemList.Machine_TeslaCoil_2by2_EV.get(1), 400, 1920); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_2by2_EV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.SolderingAlloy.getMolten(144), + CustomItemList.Machine_TeslaCoil_2by2_EV.get(1), 400, 1920); + //Tesla Transceiver IV 4A + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_2by2_IV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.Lead.getMolten(576), + CustomItemList.Machine_TeslaCoil_2by2_IV.get(1), 400, 7680); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_2by2_IV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.Tin.getMolten(288), + CustomItemList.Machine_TeslaCoil_2by2_IV.get(1), 400, 7680); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_2by2_IV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.SolderingAlloy.getMolten(144), + CustomItemList.Machine_TeslaCoil_2by2_IV.get(1), 400, 7680); + //Tesla Transceiver LV 9A + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_3by3_LV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.Lead.getMolten(576), + CustomItemList.Machine_TeslaCoil_3by3_LV.get(1), 400, 30); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_3by3_LV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.Tin.getMolten(288), + CustomItemList.Machine_TeslaCoil_3by3_LV.get(1), 400, 30); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_3by3_LV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.SolderingAlloy.getMolten(144), + CustomItemList.Machine_TeslaCoil_3by3_LV.get(1), 400, 30); + //Tesla Transceiver MV 9A + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_3by3_MV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.Lead.getMolten(576), + CustomItemList.Machine_TeslaCoil_3by3_MV.get(1), 400, 120); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_3by3_LV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.Tin.getMolten(288), + CustomItemList.Machine_TeslaCoil_3by3_MV.get(1), 400, 120); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_3by3_MV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.SolderingAlloy.getMolten(144), + CustomItemList.Machine_TeslaCoil_3by3_MV.get(1), 400, 120); + //Tesla Transceiver HV 9A + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_3by3_HV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.Lead.getMolten(576), + CustomItemList.Machine_TeslaCoil_3by3_HV.get(1), 400, 480); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_3by3_HV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.Tin.getMolten(288), + CustomItemList.Machine_TeslaCoil_3by3_HV.get(1), 400, 480); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_3by3_HV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.SolderingAlloy.getMolten(144), + CustomItemList.Machine_TeslaCoil_3by3_HV.get(1), 400, 480); + //Tesla Transceiver EV 9A + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_3by3_EV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.Lead.getMolten(576), + CustomItemList.Machine_TeslaCoil_3by3_EV.get(1), 400, 1920); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_3by3_EV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.Tin.getMolten(288), + CustomItemList.Machine_TeslaCoil_3by3_EV.get(1), 400, 1920); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_3by3_EV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.SolderingAlloy.getMolten(144), + CustomItemList.Machine_TeslaCoil_3by3_EV.get(1), 400, 1920); + //Tesla Transceiver IV 9A + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_3by3_IV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.Lead.getMolten(576), + CustomItemList.Machine_TeslaCoil_3by3_IV.get(1), 400, 7680); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_3by3_IV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.Tin.getMolten(288), + CustomItemList.Machine_TeslaCoil_3by3_IV.get(1), 400, 7680); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_3by3_IV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.SolderingAlloy.getMolten(144), + CustomItemList.Machine_TeslaCoil_3by3_IV.get(1), 400, 7680); + //Tesla Transceiver LV 16A + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_4by4_LV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.Lead.getMolten(576), + CustomItemList.Machine_TeslaCoil_4by4_LV.get(1), 400, 30); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_4by4_LV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.Tin.getMolten(288), + CustomItemList.Machine_TeslaCoil_4by4_LV.get(1), 400, 30); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_4by4_LV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.SolderingAlloy.getMolten(144), + CustomItemList.Machine_TeslaCoil_4by4_LV.get(1), 400, 30); + //Tesla Transceiver MV 16A + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_4by4_MV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.Lead.getMolten(576), + CustomItemList.Machine_TeslaCoil_4by4_MV.get(1), 400, 120); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_4by4_MV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.Tin.getMolten(288), + CustomItemList.Machine_TeslaCoil_4by4_MV.get(1), 400, 120); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_4by4_MV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.SolderingAlloy.getMolten(144), + CustomItemList.Machine_TeslaCoil_4by4_MV.get(1), 400, 120); + //Tesla Transceiver HV 16A + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_4by4_HV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.Lead.getMolten(576), + CustomItemList.Machine_TeslaCoil_4by4_HV.get(1), 400, 480); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_4by4_HV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.Tin.getMolten(288), + CustomItemList.Machine_TeslaCoil_4by4_HV.get(1), 400, 480); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_4by4_HV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.SolderingAlloy.getMolten(144), + CustomItemList.Machine_TeslaCoil_4by4_HV.get(1), 400, 480); + //Tesla Transceiver EV 16A + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_4by4_EV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.Lead.getMolten(576), + CustomItemList.Machine_TeslaCoil_4by4_EV.get(1), 400, 1920); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_4by4_EV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.Tin.getMolten(288), + CustomItemList.Machine_TeslaCoil_4by4_EV.get(1), 400, 1920); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_4by4_EV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.SolderingAlloy.getMolten(144), + CustomItemList.Machine_TeslaCoil_4by4_EV.get(1), 400, 1920); + //Tesla Transceiver IV 16A + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_4by4_IV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.Lead.getMolten(576), + CustomItemList.Machine_TeslaCoil_4by4_IV.get(1), 400, 7680); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_4by4_IV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.Tin.getMolten(288), + CustomItemList.Machine_TeslaCoil_4by4_IV.get(1), 400, 7680); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + ItemList.Battery_Buffer_4by4_IV.get(1), + CustomItemList.teslaCover.getWithDamage(1, 0)}, + Materials.SolderingAlloy.getMolten(144), + CustomItemList.Machine_TeslaCoil_4by4_IV.get(1), 400, 7680); + + //endregion + + //region components + + //Tesla Winding Components + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Electrum, 32), + GT_OreDictUnificator.get(OrePrefixes.ring, Materials.NickelZincFerrite, 8), + }, Materials.Epoxid.getMolten(288), CustomItemList.teslaComponent.getWithDamage(1, 0), 320, 30); + //Tesla Winding Components Ultimate + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorLuV, 16), + GT_OreDictUnificator.get(OrePrefixes.ring, Materials.NickelZincFerrite, 8), + }, Materials.Epoxid.getMolten(576), CustomItemList.teslaComponent.getWithDamage(1, 1), 320, 7680); + + //endregion + + //region items + + //LV Tesla Capacitor + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Tin, 4), + GT_OreDictUnificator.get(OrePrefixes.itemCasing, Materials.BatteryAlloy, 4), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 8), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Silicone, 8), + }, Materials.Epoxid.getMolten(72), CustomItemList.teslaCapacitor.getWithDamage(1, 0), 320, 30); + //MV Tesla Capacitor + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Copper, 4), + GT_OreDictUnificator.get(OrePrefixes.itemCasing, Materials.BatteryAlloy, 6), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 12), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Silicone, 12), + }, Materials.Epoxid.getMolten(144), CustomItemList.teslaCapacitor.getWithDamage(1, 1), 320, 120); + //HV Tesla Capacitor + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Gold, 4), + GT_OreDictUnificator.get(OrePrefixes.itemCasing, Materials.BatteryAlloy, 8), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 16), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Silicone, 16), + }, Materials.Epoxid.getMolten(216), CustomItemList.teslaCapacitor.getWithDamage(1, 2), 320, 480); + //EV Tesla Capacitor + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Aluminium, 4), + GT_OreDictUnificator.get(OrePrefixes.itemCasing, Materials.BatteryAlloy, 10), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 20), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Silicone, 20), + }, Materials.Epoxid.getMolten(288), CustomItemList.teslaCapacitor.getWithDamage(1, 3), 320, 1920); + //IV Tesla Capacitor + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Tungsten, 4), + GT_OreDictUnificator.get(OrePrefixes.itemCasing, Materials.BatteryAlloy, 12), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 24), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Silicone, 24), + }, Materials.Epoxid.getMolten(360), CustomItemList.teslaCapacitor.getWithDamage(1, 4), 320, 7680); + //Tesla Cover + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + CustomItemList.teslaComponent.getWithDamage(4, 0), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Advanced, 2), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Gold, 16), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.NickelZincFerrite, 2), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 8), + }, Materials.Lead.getMolten(288), CustomItemList.teslaCover.getWithDamage(1, 0), 320, 480); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + CustomItemList.teslaComponent.getWithDamage(4, 0), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Advanced, 2), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Gold, 16), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.NickelZincFerrite, 2), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 8), + }, Materials.Tin.getMolten(144), CustomItemList.teslaCover.getWithDamage(1, 0), 320, 480); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + CustomItemList.teslaComponent.getWithDamage(4, 0), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Advanced, 2), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Gold, 16), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.NickelZincFerrite, 2), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 8), + }, Materials.SolderingAlloy.getMolten(72), CustomItemList.teslaCover.getWithDamage(1, 0), 320, 480); + //Ultimate Tesla Cover + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + CustomItemList.teslaComponent.getWithDamage(4, 1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 2), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Tungsten, 16), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.NickelZincFerrite, 2), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 8), + }, Materials.Lead.getMolten(288), CustomItemList.teslaCover.getWithDamage(1, 1), 320, 7680); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + CustomItemList.teslaComponent.getWithDamage(4, 1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 2), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Tungsten, 16), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.NickelZincFerrite, 2), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 8), + }, Materials.Tin.getMolten(144), CustomItemList.teslaCover.getWithDamage(1, 1), 320, 7680); + GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ + CustomItemList.teslaComponent.getWithDamage(4, 1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 2), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Tungsten, 16), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.NickelZincFerrite, 2), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 8), + }, Materials.SolderingAlloy.getMolten(72), CustomItemList.teslaCover.getWithDamage(1, 1), 320, 7680); + + //endregion + + //region recycling + + //LV Tesla Capacitor + GT_Values.RA.addExtractorRecipe(CustomItemList.teslaCapacitor.getWithDamage(1, 0), + GT_OreDictUnificator.get(OrePrefixes.itemCasing, Materials.BatteryAlloy, 4), 300, 2); + //MV Tesla Capacitor + GT_Values.RA.addExtractorRecipe(CustomItemList.teslaCapacitor.getWithDamage(1, 1), + GT_OreDictUnificator.get(OrePrefixes.itemCasing, Materials.BatteryAlloy, 6), 300, 2); + //HV Tesla Capacitor + GT_Values.RA.addExtractorRecipe(CustomItemList.teslaCapacitor.getWithDamage(1, 2), + GT_OreDictUnificator.get(OrePrefixes.itemCasing, Materials.BatteryAlloy, 8), 300, 2); + //EV Tesla Capacitor + GT_Values.RA.addExtractorRecipe(CustomItemList.teslaCapacitor.getWithDamage(1, 3), + GT_OreDictUnificator.get(OrePrefixes.itemCasing, Materials.BatteryAlloy, 10), 300, 2); + //IV Tesla Capacitor + GT_Values.RA.addExtractorRecipe(CustomItemList.teslaCapacitor.getWithDamage(1, 4), + GT_OreDictUnificator.get(OrePrefixes.itemCasing, Materials.BatteryAlloy, 12), 300, 2); + + //endregion + //ha trafos //if(Loader.isModLoaded(Reference.GTPLUSPLUS)){ // GT_Values.RA.addAssemblerRecipe(CustomItemList.HA) @@ -719,62 +1235,62 @@ public class BloodyRecipeLoader implements Runnable { register_machine_EM_behaviours(); } - private void register_machine_EM_behaviours(){ - GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_Centrifuge(5),ItemList.Machine_IV_Centrifuge.get(1)); + private void register_machine_EM_behaviours() { + GT_MetaTileEntity_EM_machine.registerBehaviour(() -> new Behaviour_Centrifuge(5), ItemList.Machine_IV_Centrifuge.get(1)); try { - GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_Centrifuge(6),ItemList.valueOf("Machine_LuV_Centrifuge").get(1)); - GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_Centrifuge(7),ItemList.valueOf("Machine_ZPM_Centrifuge").get(1)); - GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_Centrifuge(8),ItemList.valueOf("Machine_UV_Centrifuge").get(1)); - GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_Centrifuge(9),ItemList.valueOf("Machine_UV_Centrifuge").get(4)); - GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_Centrifuge(10),ItemList.valueOf("Machine_UV_Centrifuge").get(16)); - GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_Centrifuge(11),ItemList.valueOf("Machine_UV_Centrifuge").get(40)); - GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_Centrifuge(12),ItemList.valueOf("Machine_UV_Centrifuge").get(64)); - }catch (IllegalArgumentException|NullPointerException e){ - GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_Centrifuge(6),ItemList.Machine_IV_Centrifuge.get(2)); - GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_Centrifuge(7),ItemList.Machine_IV_Centrifuge.get(4)); - GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_Centrifuge(8),ItemList.Machine_IV_Centrifuge.get(8)); - GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_Centrifuge(9),ItemList.Machine_IV_Centrifuge.get(16)); - GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_Centrifuge(10),ItemList.Machine_IV_Centrifuge.get(32)); - GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_Centrifuge(11),ItemList.Machine_IV_Centrifuge.get(48)); - GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_Centrifuge(12),ItemList.Machine_IV_Centrifuge.get(64)); + GT_MetaTileEntity_EM_machine.registerBehaviour(() -> new Behaviour_Centrifuge(6), ItemList.valueOf("Machine_LuV_Centrifuge").get(1)); + GT_MetaTileEntity_EM_machine.registerBehaviour(() -> new Behaviour_Centrifuge(7), ItemList.valueOf("Machine_ZPM_Centrifuge").get(1)); + GT_MetaTileEntity_EM_machine.registerBehaviour(() -> new Behaviour_Centrifuge(8), ItemList.valueOf("Machine_UV_Centrifuge").get(1)); + GT_MetaTileEntity_EM_machine.registerBehaviour(() -> new Behaviour_Centrifuge(9), ItemList.valueOf("Machine_UV_Centrifuge").get(4)); + GT_MetaTileEntity_EM_machine.registerBehaviour(() -> new Behaviour_Centrifuge(10), ItemList.valueOf("Machine_UV_Centrifuge").get(16)); + GT_MetaTileEntity_EM_machine.registerBehaviour(() -> new Behaviour_Centrifuge(11), ItemList.valueOf("Machine_UV_Centrifuge").get(40)); + GT_MetaTileEntity_EM_machine.registerBehaviour(() -> new Behaviour_Centrifuge(12), ItemList.valueOf("Machine_UV_Centrifuge").get(64)); + } catch (IllegalArgumentException | NullPointerException e) { + GT_MetaTileEntity_EM_machine.registerBehaviour(() -> new Behaviour_Centrifuge(6), ItemList.Machine_IV_Centrifuge.get(2)); + GT_MetaTileEntity_EM_machine.registerBehaviour(() -> new Behaviour_Centrifuge(7), ItemList.Machine_IV_Centrifuge.get(4)); + GT_MetaTileEntity_EM_machine.registerBehaviour(() -> new Behaviour_Centrifuge(8), ItemList.Machine_IV_Centrifuge.get(8)); + GT_MetaTileEntity_EM_machine.registerBehaviour(() -> new Behaviour_Centrifuge(9), ItemList.Machine_IV_Centrifuge.get(16)); + GT_MetaTileEntity_EM_machine.registerBehaviour(() -> new Behaviour_Centrifuge(10), ItemList.Machine_IV_Centrifuge.get(32)); + GT_MetaTileEntity_EM_machine.registerBehaviour(() -> new Behaviour_Centrifuge(11), ItemList.Machine_IV_Centrifuge.get(48)); + GT_MetaTileEntity_EM_machine.registerBehaviour(() -> new Behaviour_Centrifuge(12), ItemList.Machine_IV_Centrifuge.get(64)); } - GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_ElectromagneticSeparator(5),ItemList.Machine_IV_ElectromagneticSeparator.get(1)); + GT_MetaTileEntity_EM_machine.registerBehaviour(() -> new Behaviour_ElectromagneticSeparator(5), ItemList.Machine_IV_ElectromagneticSeparator.get(1)); try { - GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_ElectromagneticSeparator(6),ItemList.valueOf("Machine_LuV_ElectromagneticSeparator").get(1)); - GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_ElectromagneticSeparator(7),ItemList.valueOf("Machine_ZPM_ElectromagneticSeparator").get(1)); - GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_ElectromagneticSeparator(8),ItemList.valueOf("Machine_UV_ElectromagneticSeparator").get(1)); - GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_ElectromagneticSeparator(9),ItemList.valueOf("Machine_UV_ElectromagneticSeparator").get(4)); - GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_ElectromagneticSeparator(10),ItemList.valueOf("Machine_UV_ElectromagneticSeparator").get(16)); - GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_ElectromagneticSeparator(11),ItemList.valueOf("Machine_UV_ElectromagneticSeparator").get(40)); - GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_ElectromagneticSeparator(12),ItemList.valueOf("Machine_UV_ElectromagneticSeparator").get(64)); - }catch (IllegalArgumentException|NullPointerException e){ - GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_ElectromagneticSeparator(6),ItemList.Machine_IV_ElectromagneticSeparator.get(2)); - GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_ElectromagneticSeparator(7),ItemList.Machine_IV_ElectromagneticSeparator.get(4)); - GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_ElectromagneticSeparator(8),ItemList.Machine_IV_ElectromagneticSeparator.get(8)); - GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_ElectromagneticSeparator(9),ItemList.Machine_IV_ElectromagneticSeparator.get(16)); - GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_ElectromagneticSeparator(10),ItemList.Machine_IV_ElectromagneticSeparator.get(32)); - GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_ElectromagneticSeparator(11),ItemList.Machine_IV_ElectromagneticSeparator.get(48)); - GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_ElectromagneticSeparator(12),ItemList.Machine_IV_ElectromagneticSeparator.get(64)); + GT_MetaTileEntity_EM_machine.registerBehaviour(() -> new Behaviour_ElectromagneticSeparator(6), ItemList.valueOf("Machine_LuV_ElectromagneticSeparator").get(1)); + GT_MetaTileEntity_EM_machine.registerBehaviour(() -> new Behaviour_ElectromagneticSeparator(7), ItemList.valueOf("Machine_ZPM_ElectromagneticSeparator").get(1)); + GT_MetaTileEntity_EM_machine.registerBehaviour(() -> new Behaviour_ElectromagneticSeparator(8), ItemList.valueOf("Machine_UV_ElectromagneticSeparator").get(1)); + GT_MetaTileEntity_EM_machine.registerBehaviour(() -> new Behaviour_ElectromagneticSeparator(9), ItemList.valueOf("Machine_UV_ElectromagneticSeparator").get(4)); + GT_MetaTileEntity_EM_machine.registerBehaviour(() -> new Behaviour_ElectromagneticSeparator(10), ItemList.valueOf("Machine_UV_ElectromagneticSeparator").get(16)); + GT_MetaTileEntity_EM_machine.registerBehaviour(() -> new Behaviour_ElectromagneticSeparator(11), ItemList.valueOf("Machine_UV_ElectromagneticSeparator").get(40)); + GT_MetaTileEntity_EM_machine.registerBehaviour(() -> new Behaviour_ElectromagneticSeparator(12), ItemList.valueOf("Machine_UV_ElectromagneticSeparator").get(64)); + } catch (IllegalArgumentException | NullPointerException e) { + GT_MetaTileEntity_EM_machine.registerBehaviour(() -> new Behaviour_ElectromagneticSeparator(6), ItemList.Machine_IV_ElectromagneticSeparator.get(2)); + GT_MetaTileEntity_EM_machine.registerBehaviour(() -> new Behaviour_ElectromagneticSeparator(7), ItemList.Machine_IV_ElectromagneticSeparator.get(4)); + GT_MetaTileEntity_EM_machine.registerBehaviour(() -> new Behaviour_ElectromagneticSeparator(8), ItemList.Machine_IV_ElectromagneticSeparator.get(8)); + GT_MetaTileEntity_EM_machine.registerBehaviour(() -> new Behaviour_ElectromagneticSeparator(9), ItemList.Machine_IV_ElectromagneticSeparator.get(16)); + GT_MetaTileEntity_EM_machine.registerBehaviour(() -> new Behaviour_ElectromagneticSeparator(10), ItemList.Machine_IV_ElectromagneticSeparator.get(32)); + GT_MetaTileEntity_EM_machine.registerBehaviour(() -> new Behaviour_ElectromagneticSeparator(11), ItemList.Machine_IV_ElectromagneticSeparator.get(48)); + GT_MetaTileEntity_EM_machine.registerBehaviour(() -> new Behaviour_ElectromagneticSeparator(12), ItemList.Machine_IV_ElectromagneticSeparator.get(64)); } - GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_Recycler(5),ItemList.Machine_IV_Recycler.get(1)); + GT_MetaTileEntity_EM_machine.registerBehaviour(() -> new Behaviour_Recycler(5), ItemList.Machine_IV_Recycler.get(1)); try { - GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_Recycler(6),ItemList.valueOf("Machine_LuV_Recycler").get(1)); - GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_Recycler(7),ItemList.valueOf("Machine_ZPM_Recycler").get(1)); - GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_Recycler(8),ItemList.valueOf("Machine_UV_Recycler").get(1)); - GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_Recycler(9),ItemList.valueOf("Machine_UV_Recycler").get(4)); - GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_Recycler(10),ItemList.valueOf("Machine_UV_Recycler").get(16)); - GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_Recycler(11),ItemList.valueOf("Machine_UV_Recycler").get(40)); - GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_Recycler(12),ItemList.valueOf("Machine_UV_Recycler").get(64)); - }catch (IllegalArgumentException|NullPointerException e){ - GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_Recycler(6),ItemList.Machine_IV_Recycler.get(2)); - GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_Recycler(7),ItemList.Machine_IV_Recycler.get(4)); - GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_Recycler(8),ItemList.Machine_IV_Recycler.get(8)); - GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_Recycler(9),ItemList.Machine_IV_Recycler.get(16)); - GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_Recycler(10),ItemList.Machine_IV_Recycler.get(32)); - GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_Recycler(11),ItemList.Machine_IV_Recycler.get(48)); - GT_MetaTileEntity_EM_machine.registerBehaviour(()->new Behaviour_Recycler(12),ItemList.Machine_IV_Recycler.get(64)); + GT_MetaTileEntity_EM_machine.registerBehaviour(() -> new Behaviour_Recycler(6), ItemList.valueOf("Machine_LuV_Recycler").get(1)); + GT_MetaTileEntity_EM_machine.registerBehaviour(() -> new Behaviour_Recycler(7), ItemList.valueOf("Machine_ZPM_Recycler").get(1)); + GT_MetaTileEntity_EM_machine.registerBehaviour(() -> new Behaviour_Recycler(8), ItemList.valueOf("Machine_UV_Recycler").get(1)); + GT_MetaTileEntity_EM_machine.registerBehaviour(() -> new Behaviour_Recycler(9), ItemList.valueOf("Machine_UV_Recycler").get(4)); + GT_MetaTileEntity_EM_machine.registerBehaviour(() -> new Behaviour_Recycler(10), ItemList.valueOf("Machine_UV_Recycler").get(16)); + GT_MetaTileEntity_EM_machine.registerBehaviour(() -> new Behaviour_Recycler(11), ItemList.valueOf("Machine_UV_Recycler").get(40)); + GT_MetaTileEntity_EM_machine.registerBehaviour(() -> new Behaviour_Recycler(12), ItemList.valueOf("Machine_UV_Recycler").get(64)); + } catch (IllegalArgumentException | NullPointerException e) { + GT_MetaTileEntity_EM_machine.registerBehaviour(() -> new Behaviour_Recycler(6), ItemList.Machine_IV_Recycler.get(2)); + GT_MetaTileEntity_EM_machine.registerBehaviour(() -> new Behaviour_Recycler(7), ItemList.Machine_IV_Recycler.get(4)); + GT_MetaTileEntity_EM_machine.registerBehaviour(() -> new Behaviour_Recycler(8), ItemList.Machine_IV_Recycler.get(8)); + GT_MetaTileEntity_EM_machine.registerBehaviour(() -> new Behaviour_Recycler(9), ItemList.Machine_IV_Recycler.get(16)); + GT_MetaTileEntity_EM_machine.registerBehaviour(() -> new Behaviour_Recycler(10), ItemList.Machine_IV_Recycler.get(32)); + GT_MetaTileEntity_EM_machine.registerBehaviour(() -> new Behaviour_Recycler(11), ItemList.Machine_IV_Recycler.get(48)); + GT_MetaTileEntity_EM_machine.registerBehaviour(() -> new Behaviour_Recycler(12), ItemList.Machine_IV_Recycler.get(64)); } } -} +}
\ No newline at end of file diff --git a/src/main/java/com/github/technus/tectech/loader/thing/CoverLoader.java b/src/main/java/com/github/technus/tectech/loader/thing/CoverLoader.java new file mode 100644 index 0000000000..d7e9a21a67 --- /dev/null +++ b/src/main/java/com/github/technus/tectech/loader/thing/CoverLoader.java @@ -0,0 +1,24 @@ +package com.github.technus.tectech.loader.thing; + +import com.github.technus.tectech.TecTech; +import com.github.technus.tectech.thing.cover.GT_Cover_TM_TeslaCoil; +import com.github.technus.tectech.thing.cover.GT_Cover_TM_TeslaCoil_Ultimate; +import com.github.technus.tectech.thing.item.TeslaCoilCover; +import gregtech.api.GregTech_API; +import gregtech.api.enums.Textures; +import gregtech.api.interfaces.IIconContainer; +import gregtech.api.objects.GT_RenderedTexture; +import net.minecraft.item.ItemStack; + + + +public class CoverLoader implements Runnable { + public void run() { + final IIconContainer TESLA_OVERLAY = new Textures.BlockIcons.CustomIcon("iconsets/TESLA_OVERLAY"); + final IIconContainer TESLA_OVERLAY_ULTIMATE = new Textures.BlockIcons.CustomIcon("iconsets/TESLA_OVERLAY_ULTIMATE"); + + GregTech_API.registerCover(new ItemStack(TeslaCoilCover.INSTANCE, 1, 0), new GT_RenderedTexture(TESLA_OVERLAY), new GT_Cover_TM_TeslaCoil()); + GregTech_API.registerCover(new ItemStack(TeslaCoilCover.INSTANCE, 1, 1), new GT_RenderedTexture(TESLA_OVERLAY_ULTIMATE), new GT_Cover_TM_TeslaCoil_Ultimate()); + TecTech.LOGGER.info("Cover functionality registered"); + } +} diff --git a/src/main/java/com/github/technus/tectech/loader/thing/MachineLoader.java b/src/main/java/com/github/technus/tectech/loader/thing/MachineLoader.java index 988fd30031..803c19572e 100644 --- a/src/main/java/com/github/technus/tectech/loader/thing/MachineLoader.java +++ b/src/main/java/com/github/technus/tectech/loader/thing/MachineLoader.java @@ -157,7 +157,6 @@ public class MachineLoader implements Runnable { eM_energyMulti64_UXV.set(new GT_MetaTileEntity_Hatch_EnergyMulti( 15128, "hatch.energymulti64.tier.13", "UXV 64A Energy Hatch", 13, 64).getStackForm(1L)); - // =================================================================================================== // Multi AMP Laser INPUTS // =================================================================================================== @@ -297,13 +296,12 @@ public class MachineLoader implements Runnable { eM_energyTunnel7_UXV.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( 15198, "hatch.energytunnel7.tier.13", "UXV 1048576/t Laser Target Hatch", 13, 1048576).getStackForm(1L)); eM_energyTunnel9001.set(new GT_MetaTileEntity_Hatch_EnergyTunnel( - 15199, "hatch.energytunnel.tier.14", "Legendary Laser Target Hatch", 14, (int)V[14]).getStackForm(1L)); + 15199, "hatch.energytunnel.tier.14", "Legendary Laser Target Hatch", 14, (int) V[14]).getStackForm(1L)); // =================================================================================================== // Multi AMP Power OUTPUTS // =================================================================================================== - eM_dynamoMulti4_IV.set(new GT_MetaTileEntity_Hatch_DynamoMulti( 15200, "hatch.dynamomulti04.tier.05", "IV 4A Dynamo Hatch", 5, 4).getStackForm(1L)); eM_dynamoMulti16_IV.set(new GT_MetaTileEntity_Hatch_DynamoMulti( @@ -506,19 +504,19 @@ public class MachineLoader implements Runnable { eM_dynamoTunnel7_UXV.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( 15298, "hatch.dynamotunnel7.tier.13", "UXV 1048576/t Laser Source Hatch", 13, 1048576).getStackForm(1L)); eM_dynamoTunnel9001.set(new GT_MetaTileEntity_Hatch_DynamoTunnel( - 15299, "hatch.dynamotunnel.tier.14", "Legendary Laser Source Hatch", 14, (int)V[14]).getStackForm(1L)); - + 15299, "hatch.dynamotunnel.tier.14", "Legendary Laser Source Hatch", 14, (int) V[14]).getStackForm(1L)); + // =================================================================================================== // MULTIBLOCKS // =================================================================================================== Machine_Multi_Transformer.set(new GT_MetaTileEntity_EM_transformer(15300, "multimachine.em.transformer", "Active Transformer").getStackForm(1L)); + Machine_Multi_Microwave.set(new GT_MetaTileEntity_TM_microwave(15312, "multimachine.tm.microwave", "Microwave Grinder").getStackForm(1L)); + Machine_Multi_TeslaCoil.set(new GT_MetaTileEntity_TM_teslaCoil(15314, "multimachine.tm.teslaCoil", "Tesla Tower").getStackForm(1L)); Machine_Multi_Switch.set(new GT_MetaTileEntity_EM_switch(15310, "multimachine.em.switch", "Network Switch With QoS").getStackForm(1L)); Machine_Multi_Computer.set(new GT_MetaTileEntity_EM_computer(15311, "multimachine.em.computer", "Quantum Computer").getStackForm(1L)); - Machine_Multi_Microwave.set(new GT_MetaTileEntity_TM_microwave(15312, "multimachine.tm.microwave", "Microwave Grinder").getStackForm(1L)); Machine_Multi_DataBank.set(new GT_MetaTileEntity_EM_dataBank(15313, "multimachine.em.databank", "Data Bank").getStackForm(1L)); - Machine_Multi_teslaCoil.set(new GT_MetaTileEntity_TM_teslaCoil(15314, "multimachine.tm.teslaCoil", "Tesla Coil").getStackForm(1L)); Machine_Multi_EMjunction.set(new GT_MetaTileEntity_EM_junction(15320, "multimachine.em.junction", "Matter Junction").getStackForm(1L)); Machine_Multi_MatterToEM.set(new GT_MetaTileEntity_EM_quantizer(15321, "multimachine.em.mattertoem", "Matter Quantizer").getStackForm(1L)); @@ -566,7 +564,7 @@ public class MachineLoader implements Runnable { rack_Hatch.set(new GT_MetaTileEntity_Hatch_Rack(15450, "hatch.rack.tier.08", "Computer Rack", 8, "4 Slot Rack").getStackForm(1L)); holder_Hatch.set(new GT_MetaTileEntity_Hatch_Holder(15451, "hatch.holder.tier.09", "Object Holder", 8, "For Research Station").getStackForm(1L)); - capacitor_Hatch.set(new GT_MetaTileEntity_Hatch_Capacitor(15452, "hatch.capacitor.tier.05", "Capacitor Hatch", 5, "For Tesla Coil").getStackForm(1L)); + capacitor_Hatch.set(new GT_MetaTileEntity_Hatch_Capacitor(15452, "hatch.capacitor.tier.03", "Capacitor Hatch", 3, "For Tesla Tower").getStackForm(1L)); // =================================================================================================== // Pipes @@ -583,6 +581,10 @@ public class MachineLoader implements Runnable { Machine_OwnerDetector.set(new GT_MetaTileEntity_OwnerDetector(15480, "machine.tt.ownerdetector", "Owner detector", 3).getStackForm(1L)); Machine_DataReader.set(new GT_MetaTileEntity_DataReader(15481, "machine.tt.datareader", "Data Reader", 5).getStackForm(1L)); + // =================================================================================================== + // Buck Converters + // =================================================================================================== + Machine_BuckConverter_IV.set(new GT_MetaTileEntity_BuckConverter(15485, "machine.tt.buck.05", "Insane Buck Converter", 5).getStackForm(1L)); Machine_BuckConverter_LuV.set(new GT_MetaTileEntity_BuckConverter(15486, "machine.tt.buck.06", "Ludicrous Buck Converter", 6).getStackForm(1L)); Machine_BuckConverter_ZPM.set(new GT_MetaTileEntity_BuckConverter(15487, "machine.tt.buck.07", "ZPM Voltage Buck Converter", 7).getStackForm(1L)); @@ -594,10 +596,38 @@ public class MachineLoader implements Runnable { Machine_BuckConverter_UXV.set(new GT_MetaTileEntity_BuckConverter(15493, "machine.tt.buck.13", "Extended Mega Ultimate Buck Converter", 13).getStackForm(1L)); // =================================================================================================== + // Tesla Transceiver + // =================================================================================================== + + Machine_TeslaCoil_1by1_LV.set(new GT_MetaTileEntity_TeslaCoil(16000, "machine.tt.tesla.01", "Basic Tesla Transceiver", 1, 1).getStackForm(1L)); + Machine_TeslaCoil_1by1_MV.set(new GT_MetaTileEntity_TeslaCoil(16001, "machine.tt.tesla.02", "Advanced Tesla Transceiver", 2, 1).getStackForm(1L)); + Machine_TeslaCoil_1by1_HV.set(new GT_MetaTileEntity_TeslaCoil(16002, "machine.tt.tesla.03", "Epyc Tesla Transceiver", 3, 1).getStackForm(1L)); + Machine_TeslaCoil_1by1_EV.set(new GT_MetaTileEntity_TeslaCoil(16003, "machine.tt.tesla.04", "Ultimate Power Tesla Transceiver", 4, 1).getStackForm(1L)); + Machine_TeslaCoil_1by1_IV.set(new GT_MetaTileEntity_TeslaCoil(16004, "machine.tt.tesla.05", "Insane Tesla Transceiver", 5, 1).getStackForm(1L)); + + Machine_TeslaCoil_2by2_LV.set(new GT_MetaTileEntity_TeslaCoil(16005, "machine.tt.tesla.01", "Basic Tesla Transceiver", 1, 4).getStackForm(1L)); + Machine_TeslaCoil_2by2_MV.set(new GT_MetaTileEntity_TeslaCoil(16006, "machine.tt.tesla.02", "Advanced Tesla Transceiver", 2, 4).getStackForm(1L)); + Machine_TeslaCoil_2by2_HV.set(new GT_MetaTileEntity_TeslaCoil(16007, "machine.tt.tesla.03", "Epyc Tesla Transceiver", 3, 4).getStackForm(1L)); + Machine_TeslaCoil_2by2_EV.set(new GT_MetaTileEntity_TeslaCoil(16008, "machine.tt.tesla.04", "Ultimate Power Tesla Transceiver", 4, 4).getStackForm(1L)); + Machine_TeslaCoil_2by2_IV.set(new GT_MetaTileEntity_TeslaCoil(16009, "machine.tt.tesla.05", "Insane Tesla Transceiver", 5, 4).getStackForm(1L)); + + Machine_TeslaCoil_3by3_LV.set(new GT_MetaTileEntity_TeslaCoil(16010, "machine.tt.tesla.01", "Basic Tesla Transceiver", 1, 9).getStackForm(1L)); + Machine_TeslaCoil_3by3_MV.set(new GT_MetaTileEntity_TeslaCoil(16011, "machine.tt.tesla.02", "Advanced Tesla Transceiver", 2, 9).getStackForm(1L)); + Machine_TeslaCoil_3by3_HV.set(new GT_MetaTileEntity_TeslaCoil(16012, "machine.tt.tesla.03", "Epyc Tesla Transceiver", 3, 9).getStackForm(1L)); + Machine_TeslaCoil_3by3_EV.set(new GT_MetaTileEntity_TeslaCoil(16013, "machine.tt.tesla.04", "Ultimate Power Tesla Transceiver", 4, 9).getStackForm(1L)); + Machine_TeslaCoil_3by3_IV.set(new GT_MetaTileEntity_TeslaCoil(16014, "machine.tt.tesla.05", "Insane Tesla Transceiver", 5, 9).getStackForm(1L)); + + Machine_TeslaCoil_4by4_LV.set(new GT_MetaTileEntity_TeslaCoil(16015, "machine.tt.tesla.01", "Basic Tesla Transceiver", 1, 16).getStackForm(1L)); + Machine_TeslaCoil_4by4_MV.set(new GT_MetaTileEntity_TeslaCoil(16016, "machine.tt.tesla.02", "Advanced Tesla Transceiver", 2, 16).getStackForm(1L)); + Machine_TeslaCoil_4by4_HV.set(new GT_MetaTileEntity_TeslaCoil(16017, "machine.tt.tesla.03", "Epyc Tesla Transceiver", 3, 16).getStackForm(1L)); + Machine_TeslaCoil_4by4_EV.set(new GT_MetaTileEntity_TeslaCoil(16018, "machine.tt.tesla.04", "Ultimate Power Tesla Transceiver", 4, 16).getStackForm(1L)); + Machine_TeslaCoil_4by4_IV.set(new GT_MetaTileEntity_TeslaCoil(16019, "machine.tt.tesla.05", "Insane Tesla Transceiver", 5, 16).getStackForm(1L)); + + // =================================================================================================== // Debug Stuff // =================================================================================================== - Machine_DebugPollutor.set(new GT_MetaTileEntity_DebugPollutor(15495,"debug.tt.pollutor","Debug Pollution Generator",15).getStackForm(1)); - hatch_CreativeData.set(new GT_MetaTileEntity_Hatch_CreativeData(15496,"debug.tt.data","Debug Data Hatch",15).getStackForm(1)); + Machine_DebugPollutor.set(new GT_MetaTileEntity_DebugPollutor(15495, "debug.tt.pollutor", "Debug Pollution Generator", 15).getStackForm(1)); + hatch_CreativeData.set(new GT_MetaTileEntity_Hatch_CreativeData(15496, "debug.tt.data", "Debug Data Hatch", 15).getStackForm(1)); hatch_CreativeMaintenance.set(new GT_MetaTileEntity_Hatch_CreativeMaintenance(15497, "debug.tt.maintenance", "Debug Maintenance Hatch", 15).getStackForm(1L)); Machine_DebugGenny.set(new GT_MetaTileEntity_DebugPowerGenerator(15498, "debug.tt.genny", "Debug Power Generator", 15).getStackForm(1L)); Machine_DebugWriter.set(new GT_MetaTileEntity_DebugStructureWriter(15499, "debug.tt.writer", "Debug Structure Writer", 15).getStackForm(1L)); @@ -608,8 +638,11 @@ public class MachineLoader implements Runnable { // =================================================================================================== GT_MetaTileEntity_Hatch_Rack.run(); + GT_MetaTileEntity_DataReader.run(); + GT_MetaTileEntity_Hatch_Capacitor.run(); + if (!Loader.isModLoaded(Reference.DREAMCRAFT)) { new NoDreamCraftMachineLoader().run(); } diff --git a/src/main/java/com/github/technus/tectech/loader/thing/ThingsLoader.java b/src/main/java/com/github/technus/tectech/loader/thing/ThingsLoader.java index b422688a70..4596e8a2c8 100644 --- a/src/main/java/com/github/technus/tectech/loader/thing/ThingsLoader.java +++ b/src/main/java/com/github/technus/tectech/loader/thing/ThingsLoader.java @@ -7,10 +7,7 @@ import com.github.technus.tectech.compatibility.openmodularturrets.blocks.turret import com.github.technus.tectech.thing.block.QuantumGlassBlock; import com.github.technus.tectech.thing.block.QuantumStuffBlock; import com.github.technus.tectech.thing.block.ReactorSimBlock; -import com.github.technus.tectech.thing.casing.GT_Block_CasingsNH; -import com.github.technus.tectech.thing.casing.GT_Block_CasingsTT; -import com.github.technus.tectech.thing.casing.GT_Block_HintTT; -import com.github.technus.tectech.thing.casing.TT_Container_Casings; +import com.github.technus.tectech.thing.casing.*; import com.github.technus.tectech.thing.item.*; import cpw.mods.fml.common.Loader; import gregtech.api.enums.Textures; @@ -34,6 +31,8 @@ public class ThingsLoader implements Runnable { TecTech.LOGGER.info("Added texture page if was null"); TT_Container_Casings.sBlockCasingsTT = new GT_Block_CasingsTT(); TecTech.LOGGER.info("Elemental Casing registered"); + TT_Container_Casings.sBlockCasingsBA0 = new GT_Block_CasingsBA0(); + TecTech.LOGGER.info("Nikolai's Casing registered"); TT_Container_Casings.sHintCasingsTT = new GT_Block_HintTT(); TecTech.LOGGER.info("Hint Blocks registered"); @@ -58,8 +57,14 @@ public class ThingsLoader implements Runnable { ParametrizerMemoryCard.run(); ElementalDefinitionScanStorage_EM.run(); EuMeterGT.run(); + TeslaStaff.run(); + TeslaCoilCover.run(); + TeslaCoilCapacitor.run(); TecTech.LOGGER.info("Useful Items registered"); + TeslaCoilComponent.run(); + TecTech.LOGGER.info("Crafting Components registered"); + ElementalDefinitionContainer_EM.run(); DebugElementalInstanceContainer_EM.run(); TecTech.LOGGER.info("Debug Items registered"); diff --git a/src/main/java/com/github/technus/tectech/mechanics/data/RendererMessage.java b/src/main/java/com/github/technus/tectech/mechanics/data/RendererMessage.java new file mode 100644 index 0000000000..a4e5bb318e --- /dev/null +++ b/src/main/java/com/github/technus/tectech/mechanics/data/RendererMessage.java @@ -0,0 +1,82 @@ +package com.github.technus.tectech.mechanics.data; + +import com.github.technus.tectech.Util; +import cpw.mods.fml.common.Loader; +import cpw.mods.fml.common.network.simpleimpl.IMessage; +import cpw.mods.fml.common.network.simpleimpl.MessageContext; +import eu.usrv.yamcore.network.client.AbstractClientMessageHandler; +import io.netty.buffer.ByteBuf; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.world.World; +import net.minecraftforge.common.DimensionManager; +import thaumcraft.client.fx.bolt.FXLightningBolt; + +import java.io.*; +import java.util.Arrays; +import java.util.HashSet; + +public class RendererMessage implements IMessage { + HashSet<Util.thaumSpark> sparkList = new HashSet<Util.thaumSpark>(); + + public RendererMessage() { + } + + @Override + public void fromBytes(ByteBuf pBuffer) { + try { + //I'd love to know why I need to offset by one byte for this to work + byte[] boop = pBuffer.array(); + boop = Arrays.copyOfRange(boop, 1, boop.length); + InputStream is = new ByteArrayInputStream(boop); + ObjectInputStream ois = new ObjectInputStream(is); + Object data = ois.readObject(); + sparkList = (HashSet<Util.thaumSpark>) data; + } catch (IOException | ClassNotFoundException ex) { + } + } + + @Override + public void toBytes(ByteBuf pBuffer) { + try { + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + ObjectOutputStream oos = new ObjectOutputStream(baos); + oos.writeObject(sparkList); + oos.flush(); + InputStream is = new ByteArrayInputStream(baos.toByteArray()); + pBuffer.writeBytes(is, baos.toByteArray().length); + } catch (IOException ex) { + } + } + + public static class RendererData extends RendererMessage { + public RendererData() { + } + + public RendererData(HashSet<Util.thaumSpark> eSparkList) { + sparkList = eSparkList; + } + } + + + public static class ClientHandler extends AbstractClientMessageHandler<RendererData> { + @Override + public IMessage handleClientMessage(EntityPlayer pPlayer, RendererData pMessage, MessageContext pCtx) { + for (Util.thaumSpark sp : pMessage.sparkList) { + thaumLightning(sp.x, sp.y, sp.z, sp.xR, sp.yR, sp.zR, sp.wID); + } + pMessage.sparkList.clear(); + return null; + } + } + + private static void thaumLightning(int tX, int tY, int tZ, int tXN, int tYN, int tZN, int wID) { + if (Loader.isModLoaded("Thaumcraft")) { + World world = DimensionManager.getWorld(wID); + FXLightningBolt bolt = new FXLightningBolt(world, tX + 0.5F, tY + 0.5F, tZ + 0.5F, tX + tXN + 0.5F, tY + tYN + 0.5F, tZ + tZN + 0.5F, world.rand.nextLong(), 6, 0.5F, 8); + bolt.defaultFractal(); + bolt.setType(2); + bolt.setWidth(0.125F); + bolt.finalizeBolt(); + } + } +} diff --git a/src/main/java/com/github/technus/tectech/thing/CustomItemList.java b/src/main/java/com/github/technus/tectech/thing/CustomItemList.java index 969283fa15..c86dcee0b0 100644 --- a/src/main/java/com/github/technus/tectech/thing/CustomItemList.java +++ b/src/main/java/com/github/technus/tectech/thing/CustomItemList.java @@ -11,24 +11,24 @@ import net.minecraft.item.ItemStack; import static gregtech.api.enums.GT_Values.W; public enum CustomItemList implements IItemContainer { - Casing_UEV,Casing_UIV,Casing_UMV,Casing_UXV,Casing_OPV,Casing_MAXV, - Hull_UEV,Hull_UIV,Hull_UMV,Hull_UXV,Hull_OPV,Hull_MAXV, - Transformer_UEV_UHV,Transformer_UIV_UEV,Transformer_UMV_UIV, - Transformer_UXV_UMV,Transformer_OPV_UXV,Transformer_MAXV_OPV, - WetTransformer_LV_ULV,WetTransformer_MV_LV,WetTransformer_HV_MV,WetTransformer_EV_HV, - WetTransformer_IV_EV,WetTransformer_LuV_IV,WetTransformer_ZPM_LuV,WetTransformer_UV_ZPM, - WetTransformer_UHV_UV,WetTransformer_UEV_UHV,WetTransformer_UIV_UEV,WetTransformer_UMV_UIV, - WetTransformer_UXV_UMV,WetTransformer_OPV_UXV,WetTransformer_MAXV_OPV, - - Transformer_HA_UEV_UHV,Transformer_HA_UIV_UEV,Transformer_HA_UMV_UIV,Transformer_HA_UXV_UMV, - Transformer_HA_OPV_UXV,Transformer_HA_MAXV_OPV, - - hatch_CreativeMaintenance,hatch_CreativeData, - Machine_OwnerDetector,Machine_DataReader, - Machine_BuckConverter_IV,Machine_BuckConverter_LuV,Machine_BuckConverter_ZPM, - Machine_BuckConverter_UV,Machine_BuckConverter_UHV,Machine_BuckConverter_UEV, - Machine_BuckConverter_UIV,Machine_BuckConverter_UMV, Machine_BuckConverter_UXV, - Machine_DebugWriter,Machine_DebugGenny,UnusedStuff, Machine_DebugPollutor, + Casing_UEV, Casing_UIV, Casing_UMV, Casing_UXV, Casing_OPV, Casing_MAXV, + Hull_UEV, Hull_UIV, Hull_UMV, Hull_UXV, Hull_OPV, Hull_MAXV, + Transformer_UEV_UHV, Transformer_UIV_UEV, Transformer_UMV_UIV, + Transformer_UXV_UMV, Transformer_OPV_UXV, Transformer_MAXV_OPV, + WetTransformer_LV_ULV, WetTransformer_MV_LV, WetTransformer_HV_MV, WetTransformer_EV_HV, + WetTransformer_IV_EV, WetTransformer_LuV_IV, WetTransformer_ZPM_LuV, WetTransformer_UV_ZPM, + WetTransformer_UHV_UV, WetTransformer_UEV_UHV, WetTransformer_UIV_UEV, WetTransformer_UMV_UIV, + WetTransformer_UXV_UMV, WetTransformer_OPV_UXV, WetTransformer_MAXV_OPV, + + Transformer_HA_UEV_UHV, Transformer_HA_UIV_UEV, Transformer_HA_UMV_UIV, Transformer_HA_UXV_UMV, + Transformer_HA_OPV_UXV, Transformer_HA_MAXV_OPV, + + hatch_CreativeMaintenance, hatch_CreativeData, + Machine_OwnerDetector, Machine_DataReader, + Machine_BuckConverter_IV, Machine_BuckConverter_LuV, Machine_BuckConverter_ZPM, + Machine_BuckConverter_UV, Machine_BuckConverter_UHV, Machine_BuckConverter_UEV, + Machine_BuckConverter_UIV, Machine_BuckConverter_UMV, Machine_BuckConverter_UXV, + Machine_DebugWriter, Machine_DebugGenny, UnusedStuff, Machine_DebugPollutor, EMpipe, DATApipe, LASERpipe, rack_Hatch, holder_Hatch, capacitor_Hatch, eM_dynamoMulti4_IV, eM_dynamoMulti16_IV, eM_dynamoMulti64_IV, @@ -40,15 +40,15 @@ public enum CustomItemList implements IItemContainer { eM_dynamoMulti4_UIV, eM_dynamoMulti16_UIV, eM_dynamoMulti64_UIV, eM_dynamoMulti4_UMV, eM_dynamoMulti16_UMV, eM_dynamoMulti64_UMV, eM_dynamoMulti4_UXV, eM_dynamoMulti16_UXV, eM_dynamoMulti64_UXV, - eM_dynamoTunnel1_IV,eM_dynamoTunnel2_IV,eM_dynamoTunnel3_IV,eM_dynamoTunnel4_IV,eM_dynamoTunnel5_IV,eM_dynamoTunnel6_IV,eM_dynamoTunnel7_IV, - eM_dynamoTunnel1_LuV,eM_dynamoTunnel2_LuV,eM_dynamoTunnel3_LuV,eM_dynamoTunnel4_LuV,eM_dynamoTunnel5_LuV,eM_dynamoTunnel6_LuV,eM_dynamoTunnel7_LuV, - eM_dynamoTunnel1_ZPM,eM_dynamoTunnel2_ZPM,eM_dynamoTunnel3_ZPM,eM_dynamoTunnel4_ZPM,eM_dynamoTunnel5_ZPM,eM_dynamoTunnel6_ZPM,eM_dynamoTunnel7_ZPM, - eM_dynamoTunnel1_UV,eM_dynamoTunnel2_UV,eM_dynamoTunnel3_UV,eM_dynamoTunnel4_UV,eM_dynamoTunnel5_UV,eM_dynamoTunnel6_UV,eM_dynamoTunnel7_UV, - eM_dynamoTunnel1_UHV,eM_dynamoTunnel2_UHV,eM_dynamoTunnel3_UHV,eM_dynamoTunnel4_UHV,eM_dynamoTunnel5_UHV,eM_dynamoTunnel6_UHV,eM_dynamoTunnel7_UHV, - eM_dynamoTunnel1_UEV,eM_dynamoTunnel2_UEV,eM_dynamoTunnel3_UEV,eM_dynamoTunnel4_UEV,eM_dynamoTunnel5_UEV,eM_dynamoTunnel6_UEV,eM_dynamoTunnel7_UEV, - eM_dynamoTunnel1_UIV,eM_dynamoTunnel2_UIV,eM_dynamoTunnel3_UIV,eM_dynamoTunnel4_UIV,eM_dynamoTunnel5_UIV,eM_dynamoTunnel6_UIV,eM_dynamoTunnel7_UIV, - eM_dynamoTunnel1_UMV,eM_dynamoTunnel2_UMV,eM_dynamoTunnel3_UMV,eM_dynamoTunnel4_UMV,eM_dynamoTunnel5_UMV,eM_dynamoTunnel6_UMV,eM_dynamoTunnel7_UMV, - eM_dynamoTunnel1_UXV,eM_dynamoTunnel2_UXV,eM_dynamoTunnel3_UXV,eM_dynamoTunnel4_UXV,eM_dynamoTunnel5_UXV,eM_dynamoTunnel6_UXV,eM_dynamoTunnel7_UXV, + eM_dynamoTunnel1_IV, eM_dynamoTunnel2_IV, eM_dynamoTunnel3_IV, eM_dynamoTunnel4_IV, eM_dynamoTunnel5_IV, eM_dynamoTunnel6_IV, eM_dynamoTunnel7_IV, + eM_dynamoTunnel1_LuV, eM_dynamoTunnel2_LuV, eM_dynamoTunnel3_LuV, eM_dynamoTunnel4_LuV, eM_dynamoTunnel5_LuV, eM_dynamoTunnel6_LuV, eM_dynamoTunnel7_LuV, + eM_dynamoTunnel1_ZPM, eM_dynamoTunnel2_ZPM, eM_dynamoTunnel3_ZPM, eM_dynamoTunnel4_ZPM, eM_dynamoTunnel5_ZPM, eM_dynamoTunnel6_ZPM, eM_dynamoTunnel7_ZPM, + eM_dynamoTunnel1_UV, eM_dynamoTunnel2_UV, eM_dynamoTunnel3_UV, eM_dynamoTunnel4_UV, eM_dynamoTunnel5_UV, eM_dynamoTunnel6_UV, eM_dynamoTunnel7_UV, + eM_dynamoTunnel1_UHV, eM_dynamoTunnel2_UHV, eM_dynamoTunnel3_UHV, eM_dynamoTunnel4_UHV, eM_dynamoTunnel5_UHV, eM_dynamoTunnel6_UHV, eM_dynamoTunnel7_UHV, + eM_dynamoTunnel1_UEV, eM_dynamoTunnel2_UEV, eM_dynamoTunnel3_UEV, eM_dynamoTunnel4_UEV, eM_dynamoTunnel5_UEV, eM_dynamoTunnel6_UEV, eM_dynamoTunnel7_UEV, + eM_dynamoTunnel1_UIV, eM_dynamoTunnel2_UIV, eM_dynamoTunnel3_UIV, eM_dynamoTunnel4_UIV, eM_dynamoTunnel5_UIV, eM_dynamoTunnel6_UIV, eM_dynamoTunnel7_UIV, + eM_dynamoTunnel1_UMV, eM_dynamoTunnel2_UMV, eM_dynamoTunnel3_UMV, eM_dynamoTunnel4_UMV, eM_dynamoTunnel5_UMV, eM_dynamoTunnel6_UMV, eM_dynamoTunnel7_UMV, + eM_dynamoTunnel1_UXV, eM_dynamoTunnel2_UXV, eM_dynamoTunnel3_UXV, eM_dynamoTunnel4_UXV, eM_dynamoTunnel5_UXV, eM_dynamoTunnel6_UXV, eM_dynamoTunnel7_UXV, eM_dynamoTunnel9001, eM_energyMulti4_IV, eM_energyMulti16_IV, eM_energyMulti64_IV, @@ -60,15 +60,15 @@ public enum CustomItemList implements IItemContainer { eM_energyMulti4_UIV, eM_energyMulti16_UIV, eM_energyMulti64_UIV, eM_energyMulti4_UMV, eM_energyMulti16_UMV, eM_energyMulti64_UMV, eM_energyMulti4_UXV, eM_energyMulti16_UXV, eM_energyMulti64_UXV, - eM_energyTunnel1_IV,eM_energyTunnel2_IV,eM_energyTunnel3_IV,eM_energyTunnel4_IV,eM_energyTunnel5_IV,eM_energyTunnel6_IV,eM_energyTunnel7_IV, - eM_energyTunnel1_LuV,eM_energyTunnel2_LuV,eM_energyTunnel3_LuV,eM_energyTunnel4_LuV,eM_energyTunnel5_LuV,eM_energyTunnel6_LuV,eM_energyTunnel7_LuV, - eM_energyTunnel1_ZPM,eM_energyTunnel2_ZPM,eM_energyTunnel3_ZPM,eM_energyTunnel4_ZPM,eM_energyTunnel5_ZPM,eM_energyTunnel6_ZPM,eM_energyTunnel7_ZPM, - eM_energyTunnel1_UV,eM_energyTunnel2_UV,eM_energyTunnel3_UV,eM_energyTunnel4_UV,eM_energyTunnel5_UV,eM_energyTunnel6_UV,eM_energyTunnel7_UV, - eM_energyTunnel1_UHV,eM_energyTunnel2_UHV,eM_energyTunnel3_UHV,eM_energyTunnel4_UHV,eM_energyTunnel5_UHV,eM_energyTunnel6_UHV,eM_energyTunnel7_UHV, - eM_energyTunnel1_UEV,eM_energyTunnel2_UEV,eM_energyTunnel3_UEV,eM_energyTunnel4_UEV,eM_energyTunnel5_UEV,eM_energyTunnel6_UEV,eM_energyTunnel7_UEV, - eM_energyTunnel1_UIV,eM_energyTunnel2_UIV,eM_energyTunnel3_UIV,eM_energyTunnel4_UIV,eM_energyTunnel5_UIV,eM_energyTunnel6_UIV,eM_energyTunnel7_UIV, - eM_energyTunnel1_UMV,eM_energyTunnel2_UMV,eM_energyTunnel3_UMV,eM_energyTunnel4_UMV,eM_energyTunnel5_UMV,eM_energyTunnel6_UMV,eM_energyTunnel7_UMV, - eM_energyTunnel1_UXV,eM_energyTunnel2_UXV,eM_energyTunnel3_UXV,eM_energyTunnel4_UXV,eM_energyTunnel5_UXV,eM_energyTunnel6_UXV,eM_energyTunnel7_UXV, + eM_energyTunnel1_IV, eM_energyTunnel2_IV, eM_energyTunnel3_IV, eM_energyTunnel4_IV, eM_energyTunnel5_IV, eM_energyTunnel6_IV, eM_energyTunnel7_IV, + eM_energyTunnel1_LuV, eM_energyTunnel2_LuV, eM_energyTunnel3_LuV, eM_energyTunnel4_LuV, eM_energyTunnel5_LuV, eM_energyTunnel6_LuV, eM_energyTunnel7_LuV, + eM_energyTunnel1_ZPM, eM_energyTunnel2_ZPM, eM_energyTunnel3_ZPM, eM_energyTunnel4_ZPM, eM_energyTunnel5_ZPM, eM_energyTunnel6_ZPM, eM_energyTunnel7_ZPM, + eM_energyTunnel1_UV, eM_energyTunnel2_UV, eM_energyTunnel3_UV, eM_energyTunnel4_UV, eM_energyTunnel5_UV, eM_energyTunnel6_UV, eM_energyTunnel7_UV, + eM_energyTunnel1_UHV, eM_energyTunnel2_UHV, eM_energyTunnel3_UHV, eM_energyTunnel4_UHV, eM_energyTunnel5_UHV, eM_energyTunnel6_UHV, eM_energyTunnel7_UHV, + eM_energyTunnel1_UEV, eM_energyTunnel2_UEV, eM_energyTunnel3_UEV, eM_energyTunnel4_UEV, eM_energyTunnel5_UEV, eM_energyTunnel6_UEV, eM_energyTunnel7_UEV, + eM_energyTunnel1_UIV, eM_energyTunnel2_UIV, eM_energyTunnel3_UIV, eM_energyTunnel4_UIV, eM_energyTunnel5_UIV, eM_energyTunnel6_UIV, eM_energyTunnel7_UIV, + eM_energyTunnel1_UMV, eM_energyTunnel2_UMV, eM_energyTunnel3_UMV, eM_energyTunnel4_UMV, eM_energyTunnel5_UMV, eM_energyTunnel6_UMV, eM_energyTunnel7_UMV, + eM_energyTunnel1_UXV, eM_energyTunnel2_UXV, eM_energyTunnel3_UXV, eM_energyTunnel4_UXV, eM_energyTunnel5_UXV, eM_energyTunnel6_UXV, eM_energyTunnel7_UXV, eM_energyTunnel9001, eM_in_UV, eM_in_UHV, eM_in_UEV, eM_in_UIV, eM_in_UMV, eM_in_UXV, @@ -77,7 +77,10 @@ public enum CustomItemList implements IItemContainer { Parametrizer_Hatch, ParametrizerX_Hatch, ParametrizerTXT_Hatch, Uncertainty_Hatch, UncertaintyX_Hatch, dataIn_Hatch, dataOut_Hatch, dataInAss_Hatch, dataOutAss_Hatch, eM_Containment, eM_Containment_Field, eM_Containment_Advanced, eM_Coil, eM_Teleportation, eM_Dimensional, eM_Ultimate_Containment, eM_Ultimate_Containment_Advanced, eM_Ultimate_Containment_Field, eM_Spacetime, eM_Computer_Casing, eM_Computer_Bus, eM_Computer_Vent, eM_Hollow, eM_Power, debugBlock, - Machine_Multi_Microwave, Machine_Multi_teslaCoil, + + tM_TeslaBase, tM_TeslaToroid, tM_TeslaSecondary, tM_TeslaPrimary_0, tM_TeslaPrimary_1, tM_TeslaPrimary_2, tM_TeslaPrimary_3, tM_TeslaPrimary_4, tM_TeslaPrimary_5, + + Machine_Multi_Microwave, Machine_Multi_TeslaCoil, Machine_Multi_Transformer, Machine_Multi_Computer, Machine_Multi_Switch, Machine_Multi_Research, Machine_Multi_DataBank, Machine_Multi_MatterToEM, Machine_Multi_EMToMatter, Machine_Multi_EMjunction, Machine_Multi_Scanner, @@ -87,10 +90,14 @@ public enum CustomItemList implements IItemContainer { Machine_Multi_Stabilizer, Machine_Multi_EMCrafter, Machine_Multi_Wormhole, Machine_Multi_Annihilation, Machine_Multi_BHG, - hint_0,hint_1,hint_2,hint_3,hint_4,hint_5,hint_6,hint_7,hint_8,hint_9,hint_10,hint_11, hint_general,hint_air,hint_noAir,hint_error, + hint_0, hint_1, hint_2, hint_3, hint_4, hint_5, hint_6, hint_7, hint_8, hint_9, hint_10, hint_11, hint_general, hint_air, hint_noAir, hint_error, - scanContainer,parametrizerMemory; + scanContainer, parametrizerMemory, teslaCapacitor, teslaCover, teslaComponent, teslaStaff, + Machine_TeslaCoil_1by1_LV, Machine_TeslaCoil_1by1_MV, Machine_TeslaCoil_1by1_HV, Machine_TeslaCoil_1by1_EV, Machine_TeslaCoil_1by1_IV, + Machine_TeslaCoil_2by2_LV, Machine_TeslaCoil_2by2_MV, Machine_TeslaCoil_2by2_HV, Machine_TeslaCoil_2by2_EV, Machine_TeslaCoil_2by2_IV, + Machine_TeslaCoil_3by3_LV, Machine_TeslaCoil_3by3_MV, Machine_TeslaCoil_3by3_HV, Machine_TeslaCoil_3by3_EV, Machine_TeslaCoil_3by3_IV, + Machine_TeslaCoil_4by4_LV, Machine_TeslaCoil_4by4_MV, Machine_TeslaCoil_4by4_HV, Machine_TeslaCoil_4by4_EV, Machine_TeslaCoil_4by4_IV; private ItemStack mStack; private boolean mHasNotBeenSet = true; @@ -248,4 +255,4 @@ public enum CustomItemList implements IItemContainer { } return this; } -} +}
\ No newline at end of file diff --git a/src/main/java/com/github/technus/tectech/thing/casing/GT_Block_CasingsBA0.java b/src/main/java/com/github/technus/tectech/thing/casing/GT_Block_CasingsBA0.java new file mode 100644 index 0000000000..6d5bcd2b04 --- /dev/null +++ b/src/main/java/com/github/technus/tectech/thing/casing/GT_Block_CasingsBA0.java @@ -0,0 +1,178 @@ +package com.github.technus.tectech.thing.casing; + +import com.github.technus.tectech.thing.CustomItemList; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import gregtech.api.enums.Textures; +import gregtech.api.objects.GT_CopiedBlockTexture; +import gregtech.api.util.GT_LanguageManager; +import gregtech.common.blocks.GT_Block_Casings_Abstract; +import gregtech.common.blocks.GT_Material_Casings; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraft.world.IBlockAccess; + +import java.util.List; + +import static com.github.technus.tectech.TecTech.tectechTexturePage1; + +/** + * Created by danie_000 on 03.10.2016. + */ +public class GT_Block_CasingsBA0 extends GT_Block_Casings_Abstract { + public static final byte texturePage=tectechTexturePage1; + public static final short textureOffset = (texturePage << 7)+16;//Start of PAGE 8 (which is the 9th page) (8*128)+16 + + private static IIcon[] tM0 = new IIcon[2]; + private static IIcon[] tM1 = new IIcon[2]; + private static IIcon[] tM2 = new IIcon[2]; + private static IIcon[] tM3 = new IIcon[2]; + private static IIcon[] tM4 = new IIcon[2]; + private static IIcon[] tM5 = new IIcon[2]; + private static IIcon[] tM6 = new IIcon[2]; + private static IIcon tM7; + private static IIcon[] tM8 = new IIcon[2]; + + public GT_Block_CasingsBA0() { + super(GT_Item_CasingsBA0.class, "gt.blockcasingsBA0", GT_Material_Casings.INSTANCE); + for (byte b = 0; b < 16; b = (byte) (b + 1)) { + Textures.BlockIcons.casingTexturePages[texturePage][b+16] = new GT_CopiedBlockTexture(this, 6, b); + /*IMPORTANT for block recoloring**/ + } + + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".0.name", "Redstone Alloy Primary Tesla Windings"); + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".1.name", "MV Superconductor Primary Tesla Windings"); + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".2.name", "HV Superconductor Primary Tesla Windings"); + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".3.name", "EV Superconductor Primary Tesla Windings"); + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".4.name", "IV Superconductor Primary Tesla Windings"); + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".5.name", "LuV Superconductor Primary Tesla Windings"); + + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".6.name", "Tesla Base Casing"); + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".7.name", "Tesla Toroid Casing"); + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".8.name", "Tesla Secondary Windings"); + + CustomItemList.tM_TeslaPrimary_0.set(new ItemStack(this, 1, 0)); + CustomItemList.tM_TeslaPrimary_1.set(new ItemStack(this, 1, 1)); + CustomItemList.tM_TeslaPrimary_2.set(new ItemStack(this, 1, 2)); + CustomItemList.tM_TeslaPrimary_3.set(new ItemStack(this, 1, 3)); + CustomItemList.tM_TeslaPrimary_4.set(new ItemStack(this, 1, 4)); + CustomItemList.tM_TeslaPrimary_5.set(new ItemStack(this, 1, 5)); + + CustomItemList.tM_TeslaBase.set(new ItemStack(this, 1, 6)); + CustomItemList.tM_TeslaToroid.set(new ItemStack(this, 1, 7)); + CustomItemList.tM_TeslaSecondary.set(new ItemStack(this, 1, 8)); + } + + @Override + public void registerBlockIcons(IIconRegister aIconRegister) { + tM0[0] = aIconRegister.registerIcon("gregtech:iconsets/TM_TESLA_WINDING_PRIMARY_TOP_BOTTOM_0"); + tM0[1] = aIconRegister.registerIcon("gregtech:iconsets/TM_TESLA_WINDING_PRIMARY_SIDES_0"); + tM1[0] = aIconRegister.registerIcon("gregtech:iconsets/TM_TESLA_WINDING_PRIMARY_TOP_BOTTOM_1"); + tM1[1] = aIconRegister.registerIcon("gregtech:iconsets/TM_TESLA_WINDING_PRIMARY_SIDES_1"); + tM2[0] = aIconRegister.registerIcon("gregtech:iconsets/TM_TESLA_WINDING_PRIMARY_TOP_BOTTOM_2"); + tM2[1] = aIconRegister.registerIcon("gregtech:iconsets/TM_TESLA_WINDING_PRIMARY_SIDES_2"); + tM3[0] = aIconRegister.registerIcon("gregtech:iconsets/TM_TESLA_WINDING_PRIMARY_TOP_BOTTOM_3"); + tM3[1] = aIconRegister.registerIcon("gregtech:iconsets/TM_TESLA_WINDING_PRIMARY_SIDES_3"); + tM4[0] = aIconRegister.registerIcon("gregtech:iconsets/TM_TESLA_WINDING_PRIMARY_TOP_BOTTOM_4"); + tM4[1] = aIconRegister.registerIcon("gregtech:iconsets/TM_TESLA_WINDING_PRIMARY_SIDES_4"); + tM5[0] = aIconRegister.registerIcon("gregtech:iconsets/TM_TESLA_WINDING_PRIMARY_TOP_BOTTOM_5"); + tM5[1] = aIconRegister.registerIcon("gregtech:iconsets/TM_TESLA_WINDING_PRIMARY_SIDES_5"); + + tM6[0] = aIconRegister.registerIcon("gregtech:iconsets/TM_TESLA_BASE_TOP_BOTTOM"); + tM6[1] = aIconRegister.registerIcon("gregtech:iconsets/TM_TESLA_BASE_SIDES"); + tM7 = aIconRegister.registerIcon("gregtech:iconsets/TM_TESLA_TOROID"); + tM8[0] = aIconRegister.registerIcon("gregtech:iconsets/TM_TESLA_WINDING_SECONDARY_TOP_BOTTOM"); + tM8[1] = aIconRegister.registerIcon("gregtech:iconsets/TM_TESLA_WINDING_SECONDARY_SIDES"); + } + + @Override + public IIcon getIcon(int aSide, int aMeta) { + switch (aMeta) { + case 0: + switch (aSide){ + case 0: + case 1: + return tM0[0]; + default: + return tM0[1]; + } + case 1: + switch (aSide){ + case 0: + case 1: + return tM1[0]; + default: + return tM1[1]; + } + case 2: + switch (aSide){ + case 0: + case 1: + return tM2[0]; + default: + return tM2[1]; + } + case 3: + switch (aSide){ + case 0: + case 1: + return tM3[0]; + default: + return tM3[1]; + } + case 4: + switch (aSide){ + case 0: + case 1: + return tM4[0]; + default: + return tM4[1]; + } + case 5: + switch (aSide){ + case 0: + case 1: + return tM5[0]; + default: + return tM5[1]; + } + case 6: + switch (aSide){ + case 0: + case 1: + return tM6[0]; + default: + return tM6[1]; + } + case 7: + return tM7; + case 8: + switch (aSide){ + case 0: + case 1: + return tM8[0]; + default: + return tM8[1]; + } + default: + return Textures.BlockIcons.MACHINE_CASING_SOLID_STEEL.getIcon(); + } + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(IBlockAccess aWorld, int xCoord, int yCoord, int zCoord, int aSide) { + int tMeta = aWorld.getBlockMetadata(xCoord, yCoord, zCoord); + return getIcon(aSide, tMeta); + } + + @Override + public void getSubBlocks(Item aItem, CreativeTabs par2CreativeTabs, List aList) { + for (int i = 0; i <= 8; i++) { + aList.add(new ItemStack(aItem, 1, i)); + } + } +} diff --git a/src/main/java/com/github/technus/tectech/thing/casing/GT_Block_CasingsTT.java b/src/main/java/com/github/technus/tectech/thing/casing/GT_Block_CasingsTT.java index 2ea22b625d..639e68fef6 100644 --- a/src/main/java/com/github/technus/tectech/thing/casing/GT_Block_CasingsTT.java +++ b/src/main/java/com/github/technus/tectech/thing/casing/GT_Block_CasingsTT.java @@ -57,7 +57,6 @@ public class GT_Block_CasingsTT extends GT_Block_Casings_Abstract { GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".15.name", "Debug Sides");//NOT REGISTER AS TEXTURE FOR HATCHES! - CustomItemList.eM_Power.set(new ItemStack(this, 1, 0)); CustomItemList.eM_Computer_Casing.set(new ItemStack(this, 1, 1)); diff --git a/src/main/java/com/github/technus/tectech/thing/casing/GT_Item_CasingsBA0.java b/src/main/java/com/github/technus/tectech/thing/casing/GT_Item_CasingsBA0.java new file mode 100644 index 0000000000..7decce34ae --- /dev/null +++ b/src/main/java/com/github/technus/tectech/thing/casing/GT_Item_CasingsBA0.java @@ -0,0 +1,67 @@ +package com.github.technus.tectech.thing.casing; + +import gregtech.common.blocks.GT_Item_Casings_Abstract; +import net.minecraft.block.Block; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; + +import java.util.List; + +import static com.github.technus.tectech.CommonValues.*; + +public class GT_Item_CasingsBA0 extends GT_Item_Casings_Abstract { + public GT_Item_CasingsBA0(Block par1) { + super(par1); + } + + @Override + public void addInformation(ItemStack aStack, EntityPlayer aPlayer, List aList, boolean aF3_H) { + if(aStack.getItemDamage() < 15) { + aList.add(BASS_MARK); + } else { + aList.add(COSMIC_MARK); + } + switch (aStack.getItemDamage()) { + case 0://"Redstone Alloy Primary Tesla Windings" + aList.add("Handles up to 32 EU/t"); + aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + "What one man calls God, another calls the laws of physics."); + break; + case 1://"MV Superconductor Primary Tesla Windings" + aList.add("Handles up to 128 EU/t"); + aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + "What one man calls God, another calls the laws of physics."); + break; + case 2://"HV Superconductor Primary Tesla Windings" + aList.add("Handles up to 512 EU/t"); + aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + "What one man calls God, another calls the laws of physics."); + break; + case 3://"EV Superconductor Primary Tesla Windings" + aList.add("Handles up to 2048 EU/t"); + aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + "What one man calls God, another calls the laws of physics."); + break; + case 4://"IV Superconductor Primary Tesla Windings" + aList.add("Handles up to 8192 EU/t"); + aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + "What one man calls God, another calls the laws of physics."); + break; + case 5://"LuV Superconductor Primary Tesla Windings" + aList.add("Handles up to 32768 EU/t"); + aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + "What one man calls God, another calls the laws of physics."); + break; + case 6://"Tesla Base Casing" + aList.add("The base of a wondrous contraption"); + aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + "it's alive, IT'S ALIVE!"); + break; + case 7://"Tesla Toroid Casing" + aList.add("Made out of the finest tin foil!"); + aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + "Faraday suits might come later"); + break; + case 8://"Tesla Secondary Windings" + aList.add("Picks up power from a primary coil"); + aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + "Who wouldn't want a 32k epoxy multi?"); + break; + default://WTF? + aList.add("Damn son where did you get that!?"); + aList.add(EnumChatFormatting.BLUE.toString() + "From outer space... I guess..."); + } + } +} diff --git a/src/main/java/com/github/technus/tectech/thing/casing/GT_Item_CasingsTT.java b/src/main/java/com/github/technus/tectech/thing/casing/GT_Item_CasingsTT.java index 6751e4b24b..2fd58c408f 100644 --- a/src/main/java/com/github/technus/tectech/thing/casing/GT_Item_CasingsTT.java +++ b/src/main/java/com/github/technus/tectech/thing/casing/GT_Item_CasingsTT.java @@ -8,8 +8,7 @@ import net.minecraft.util.EnumChatFormatting; import java.util.List; -import static com.github.technus.tectech.CommonValues.TEC_MARK_EM; -import static com.github.technus.tectech.CommonValues.TEC_MARK_GENERAL; +import static com.github.technus.tectech.CommonValues.*; /** * Created by danie_000 on 03.10.2016. @@ -21,10 +20,10 @@ public class GT_Item_CasingsTT extends GT_Item_Casings_Abstract { @Override public void addInformation(ItemStack aStack, EntityPlayer aPlayer, List aList, boolean aF3_H) { - if(aStack.getItemDamage()>0 && aStack.getItemDamage()<15) { + if(aStack.getItemDamage() < 15) { aList.add(TEC_MARK_EM); } else { - aList.add(TEC_MARK_GENERAL); + aList.add(COSMIC_MARK); } switch (aStack.getItemDamage()) { case 0://"High Power Casing" diff --git a/src/main/java/com/github/technus/tectech/thing/casing/TT_Container_Casings.java b/src/main/java/com/github/technus/tectech/thing/casing/TT_Container_Casings.java index 851046f34b..071a4ae28f 100644 --- a/src/main/java/com/github/technus/tectech/thing/casing/TT_Container_Casings.java +++ b/src/main/java/com/github/technus/tectech/thing/casing/TT_Container_Casings.java @@ -8,6 +8,8 @@ import net.minecraft.block.Block; public final class TT_Container_Casings { public static Block sBlockCasingsTT; public static Block sHintCasingsTT; + public static Block sBlockCasingsBA0; + public static Block sBlockCasingsNH; private TT_Container_Casings() {} diff --git a/src/main/java/com/github/technus/tectech/thing/cover/GT_Cover_TM_TeslaCoil.java b/src/main/java/com/github/technus/tectech/thing/cover/GT_Cover_TM_TeslaCoil.java new file mode 100644 index 0000000000..721f730960 --- /dev/null +++ b/src/main/java/com/github/technus/tectech/thing/cover/GT_Cover_TM_TeslaCoil.java @@ -0,0 +1,28 @@ +package com.github.technus.tectech.thing.cover; + +import gregtech.api.interfaces.tileentity.ICoverable; +import gregtech.api.util.GT_CoverBehavior; +import gregtech.api.util.GT_Utility; +import net.minecraft.entity.player.EntityPlayer; + +import static ic2.api.info.Info.DMG_ELECTRIC; + +public class GT_Cover_TM_TeslaCoil extends GT_CoverBehavior { + public GT_Cover_TM_TeslaCoil() { + } + + public String getDescription(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity) { + return "Do not attempt to use screwdriver!"; + } + + public boolean letsEnergyIn(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity) { + return true; + } + + public int onCoverScrewdriverclick(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity, EntityPlayer aPlayer, float aX, float aY, float aZ) { + if(aTileEntity.getStoredEU() > 0 && !GT_Utility.isWearingFullElectroHazmat(aPlayer)){ + aPlayer.attackEntityFrom(DMG_ELECTRIC, 20); + } + return aCoverVariable; + } +}
\ No newline at end of file diff --git a/src/main/java/com/github/technus/tectech/thing/cover/GT_Cover_TM_TeslaCoil_Ultimate.java b/src/main/java/com/github/technus/tectech/thing/cover/GT_Cover_TM_TeslaCoil_Ultimate.java new file mode 100644 index 0000000000..db7c751fc6 --- /dev/null +++ b/src/main/java/com/github/technus/tectech/thing/cover/GT_Cover_TM_TeslaCoil_Ultimate.java @@ -0,0 +1,29 @@ +package com.github.technus.tectech.thing.cover; + +import gregtech.api.interfaces.tileentity.ICoverable; +import net.minecraftforge.fluids.Fluid; + +public class GT_Cover_TM_TeslaCoil_Ultimate extends GT_Cover_TM_TeslaCoil { + public GT_Cover_TM_TeslaCoil_Ultimate() { + } + + public boolean letsEnergyOut(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity) { + return true; + } + + public boolean letsItemsIn(byte aSide, int aCoverID, int aCoverVariable, int aSlot, ICoverable aTileEntity) { + return true; + } + + public boolean letsItemsOut(byte aSide, int aCoverID, int aCoverVariable, int aSlot, ICoverable aTileEntity) { + return true; + } + + public boolean letsFluidIn(byte aSide, int aCoverID, int aCoverVariable, Fluid aFluid, ICoverable aTileEntity) { + return true; + } + + public boolean letsFluidOut(byte aSide, int aCoverID, int aCoverVariable, Fluid aFluid, ICoverable aTileEntity) { + return true; + } +}
\ No newline at end of file diff --git a/src/main/java/com/github/technus/tectech/thing/item/EuMeterGT.java b/src/main/java/com/github/technus/tectech/thing/item/EuMeterGT.java index 8edcd32bdb..3f9562f23a 100644 --- a/src/main/java/com/github/technus/tectech/thing/item/EuMeterGT.java +++ b/src/main/java/com/github/technus/tectech/thing/item/EuMeterGT.java @@ -34,33 +34,33 @@ public class EuMeterGT extends Item { @Override public boolean onItemUseFirst(ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, int aY, int aZ, int aSide, float hitX, float hitY, float hitZ) { TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ); - if(tTileEntity==null || aPlayer instanceof FakePlayer) { + if (tTileEntity == null || aPlayer instanceof FakePlayer) { return aPlayer instanceof EntityPlayerMP; } if (aPlayer instanceof EntityPlayerMP && !aPlayer.isSneaking() && tTileEntity instanceof IGregTechTileEntity) { if (tTileEntity instanceof BaseMetaTileEntity) { - GT_Utility.sendChatToPlayer(aPlayer, EnumChatFormatting.AQUA+"----- X:"+aX+" Y:"+aY+" Z:"+aZ+" D:"+aWorld.provider.dimensionId+" S:"+aSide + " -----"); - GT_Utility.sendChatToPlayer(aPlayer, "Stored energy: "+EnumChatFormatting.YELLOW+(((BaseMetaTileEntity) tTileEntity).getUniversalEnergyStored())+EnumChatFormatting.RESET+'/'+EnumChatFormatting.GREEN+(((BaseMetaTileEntity) tTileEntity).getUniversalEnergyCapacity())); - GT_Utility.sendChatToPlayer(aPlayer, "Stored EU: "+EnumChatFormatting.YELLOW+(((BaseMetaTileEntity) tTileEntity).getStoredEU())+EnumChatFormatting.RESET+'/'+EnumChatFormatting.GREEN+(((BaseMetaTileEntity) tTileEntity).getEUCapacity())); - GT_Utility.sendChatToPlayer(aPlayer, "Average I/O: "+EnumChatFormatting.YELLOW+(((BaseMetaTileEntity) tTileEntity).getAverageElectricInput())+EnumChatFormatting.RESET+'/'+EnumChatFormatting.YELLOW+(((BaseMetaTileEntity) tTileEntity).getAverageElectricOutput())); - GT_Utility.sendChatToPlayer(aPlayer, "Voltage I/O (max): "+EnumChatFormatting.GOLD+(((BaseMetaTileEntity) tTileEntity).getInputVoltage())+EnumChatFormatting.RESET+'/'+EnumChatFormatting.GOLD+(((BaseMetaTileEntity) tTileEntity).getOutputVoltage())); - GT_Utility.sendChatToPlayer(aPlayer, "Voltage I/O max: "+EnumChatFormatting.RED+(((BaseMetaTileEntity) tTileEntity).getMaxSafeInput())+EnumChatFormatting.RESET+'/'+EnumChatFormatting.RED+(((BaseMetaTileEntity) tTileEntity).getMaxEnergyOutput())); - GT_Utility.sendChatToPlayer(aPlayer, "Amperage I/O (max): "+EnumChatFormatting.GOLD+(((BaseMetaTileEntity) tTileEntity).getInputAmperage())+EnumChatFormatting.RESET+'/'+EnumChatFormatting.GOLD+(((BaseMetaTileEntity) tTileEntity).getOutputAmperage())); - GT_Utility.sendChatToPlayer(aPlayer, "Side capabilities: "+(((BaseMetaTileEntity) tTileEntity).inputEnergyFrom((byte) aSide)?"input ":"")+(((BaseMetaTileEntity) tTileEntity).outputsEnergyTo((byte) aSide)?"output ":"")); + GT_Utility.sendChatToPlayer(aPlayer, EnumChatFormatting.AQUA + "----- X:" + aX + " Y:" + aY + " Z:" + aZ + " D:" + aWorld.provider.dimensionId + " S:" + aSide + " -----"); + GT_Utility.sendChatToPlayer(aPlayer, "Stored energy: " + EnumChatFormatting.YELLOW + (((BaseMetaTileEntity) tTileEntity).getUniversalEnergyStored()) + EnumChatFormatting.RESET + '/' + EnumChatFormatting.GREEN + (((BaseMetaTileEntity) tTileEntity).getUniversalEnergyCapacity())); + GT_Utility.sendChatToPlayer(aPlayer, "Stored EU: " + EnumChatFormatting.YELLOW + (((BaseMetaTileEntity) tTileEntity).getStoredEU()) + EnumChatFormatting.RESET + '/' + EnumChatFormatting.GREEN + (((BaseMetaTileEntity) tTileEntity).getEUCapacity())); + GT_Utility.sendChatToPlayer(aPlayer, "Average I/O: " + EnumChatFormatting.YELLOW + (((BaseMetaTileEntity) tTileEntity).getAverageElectricInput()) + EnumChatFormatting.RESET + '/' + EnumChatFormatting.YELLOW + (((BaseMetaTileEntity) tTileEntity).getAverageElectricOutput())); + GT_Utility.sendChatToPlayer(aPlayer, "Voltage I/O (max): " + EnumChatFormatting.GOLD + (((BaseMetaTileEntity) tTileEntity).getInputVoltage()) + EnumChatFormatting.RESET + '/' + EnumChatFormatting.GOLD + (((BaseMetaTileEntity) tTileEntity).getOutputVoltage())); + GT_Utility.sendChatToPlayer(aPlayer, "Voltage I/O max: " + EnumChatFormatting.RED + (((BaseMetaTileEntity) tTileEntity).getMaxSafeInput()) + EnumChatFormatting.RESET + '/' + EnumChatFormatting.RED + (((BaseMetaTileEntity) tTileEntity).getMaxEnergyOutput())); + GT_Utility.sendChatToPlayer(aPlayer, "Amperage I/O (max): " + EnumChatFormatting.GOLD + (((BaseMetaTileEntity) tTileEntity).getInputAmperage()) + EnumChatFormatting.RESET + '/' + EnumChatFormatting.GOLD + (((BaseMetaTileEntity) tTileEntity).getOutputAmperage())); + GT_Utility.sendChatToPlayer(aPlayer, "Side capabilities: " + (((BaseMetaTileEntity) tTileEntity).inputEnergyFrom((byte) aSide) ? "input " : "") + (((BaseMetaTileEntity) tTileEntity).outputsEnergyTo((byte) aSide) ? "output " : "")); return true; } else if (tTileEntity instanceof BaseMetaPipeEntity) { - if(((BaseMetaPipeEntity) tTileEntity).getMetaTileEntity() instanceof GT_MetaPipeEntity_Cable){ + if (((BaseMetaPipeEntity) tTileEntity).getMetaTileEntity() instanceof GT_MetaPipeEntity_Cable) { ArrayList<String> tList = new ArrayList<>(); GT_Utility.getCoordinateScan(tList, aPlayer, aWorld, 1, aX, aY, aZ, aSide, hitX, hitY, hitZ); - for(String str:tList){ - GT_Utility.sendChatToPlayer(aPlayer,str); + for (String str : tList) { + GT_Utility.sendChatToPlayer(aPlayer, str); } } return true; } } - if(!(aPlayer instanceof EntityPlayerMP)){ - GT_Utility.doSoundAtClient(Reference.MODID+":fx_scan", 1, 1.0F, (double)aX, (double)aY, (double)aZ); + if (!(aPlayer instanceof EntityPlayerMP)) { + GT_Utility.doSoundAtClient(Reference.MODID + ":fx_scan", 1, 1.0F, (double) aX, (double) aY, (double) aZ); } return false; } @@ -76,4 +76,4 @@ public class EuMeterGT extends Item { INSTANCE = new EuMeterGT(); GameRegistry.registerItem(INSTANCE, INSTANCE.getUnlocalizedName()); } -} +}
\ No newline at end of file diff --git a/src/main/java/com/github/technus/tectech/thing/item/ParametrizerMemoryCard.java b/src/main/java/com/github/technus/tectech/thing/item/ParametrizerMemoryCard.java index b13ef6b574..d875fe6545 100644 --- a/src/main/java/com/github/technus/tectech/thing/item/ParametrizerMemoryCard.java +++ b/src/main/java/com/github/technus/tectech/thing/item/ParametrizerMemoryCard.java @@ -32,7 +32,7 @@ import static com.github.technus.tectech.thing.CustomItemList.parametrizerMemory */ public final class ParametrizerMemoryCard extends Item { public static ParametrizerMemoryCard INSTANCE; - public static IIcon locked,unlocked; + private static IIcon locked, unlocked; private ParametrizerMemoryCard() { setMaxStackSize(1); @@ -69,13 +69,13 @@ public final class ParametrizerMemoryCard extends Item { tNBT.removeTag("value1s"); } return true; - }else if(metaTE instanceof GT_MetaTileEntity_MultiblockBase_EM){ + } else if (metaTE instanceof GT_MetaTileEntity_MultiblockBase_EM) { GT_MetaTileEntity_MultiblockBase_EM base = (GT_MetaTileEntity_MultiblockBase_EM) metaTE; if (aStack.getTagCompound() == null) { aStack.setTagCompound(new NBTTagCompound()); } NBTTagCompound tNBT = aStack.getTagCompound(); - if(aStack.getItemDamage()== 1){ + if (aStack.getItemDamage() == 1) { base.parametrization.trySetParameters( tNBT.getInteger("param"), tNBT.getDouble("value0D"), @@ -115,9 +115,9 @@ public final class ParametrizerMemoryCard extends Item { public ItemStack onItemRightClick(ItemStack aStack, World aWorld, EntityPlayer aPlayer) { if (aPlayer instanceof EntityPlayerMP && aPlayer.isSneaking()) { aStack.stackSize = 1; - if(aStack.getItemDamage()==1) { + if (aStack.getItemDamage() == 1) { aStack.setItemDamage(0); - }else{ + } else { aStack.setItemDamage(1); } return aStack; @@ -131,9 +131,9 @@ public final class ParametrizerMemoryCard extends Item { aList.add(CommonValues.BASS_MARK); aList.add("Stores Parameters"); - if(aStack.getItemDamage()==1) { + if (aStack.getItemDamage() == 1) { aList.add(EnumChatFormatting.BLUE + "Use on Parametrizer/Controller to configure it"); - }else{ + } else { aList.add(EnumChatFormatting.BLUE + "Use on Parametrizer to store parameters"); } aList.add(EnumChatFormatting.BLUE + "Sneak right click to lock/unlock"); @@ -166,17 +166,16 @@ public final class ParametrizerMemoryCard extends Item { @Override @SideOnly(Side.CLIENT) public void registerIcons(IIconRegister iconRegister) { - locked =iconRegister.registerIcon(MODID + ":itemParametrizerMemoryCardLocked"); + locked = iconRegister.registerIcon(MODID + ":itemParametrizerMemoryCardLocked"); unlocked = itemIcon = iconRegister.registerIcon(getIconString()); } @Override public IIcon getIconFromDamage(int damage) { - if(damage==1) { + if (damage == 1) { return locked; - }else{ - return unlocked; } + return unlocked; } @Override diff --git a/src/main/java/com/github/technus/tectech/thing/item/TeslaCoilCapacitor.java b/src/main/java/com/github/technus/tectech/thing/item/TeslaCoilCapacitor.java new file mode 100644 index 0000000000..557b356d52 --- /dev/null +++ b/src/main/java/com/github/technus/tectech/thing/item/TeslaCoilCapacitor.java @@ -0,0 +1,87 @@ +package com.github.technus.tectech.thing.item; + +import com.github.technus.tectech.CommonValues; +import cpw.mods.fml.common.registry.GameRegistry; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.IIcon; + +import java.util.List; + +import static com.github.technus.tectech.CommonValues.V; +import static com.github.technus.tectech.Reference.MODID; +import static com.github.technus.tectech.thing.CustomItemList.teslaCapacitor; + + +public final class TeslaCoilCapacitor extends Item { + public static TeslaCoilCapacitor INSTANCE; + private static IIcon LVicon, MVicon, HVicon, EVicon, IVicon; + + private TeslaCoilCapacitor() { + setHasSubtypes(true); + setUnlocalizedName("tm.teslaCoilCapacitor"); + setTextureName(MODID + ":itemCapacitorLV"); + } + + @Override + public void addInformation(ItemStack aStack, EntityPlayer ep, List aList, boolean boo) { + aList.add(CommonValues.BASS_MARK); + if (aStack.getItemDamage() >= 0 && aStack.getItemDamage() <= 4) { + aList.add("Stores " + V[aStack.getItemDamage() + 1] * 512 + " EU in a tesla tower at " + V[aStack.getItemDamage() + 1] + " EU/t"); + } else { + aList.add("Yeet this broken item into some spicy water!"); + } + aList.add(EnumChatFormatting.BLUE + "Insert into a Capacitor hatch of a Tesla Tower"); + aList.add(EnumChatFormatting.BLUE + "Capacitors are the same thing as batteries, right?"); + } + + @Override + public String getUnlocalizedName(ItemStack aStack) { + return getUnlocalizedName() + "." + getDamage(aStack); + } + + public static void run() { + INSTANCE = new TeslaCoilCapacitor(); + GameRegistry.registerItem(INSTANCE, INSTANCE.getUnlocalizedName()); + teslaCapacitor.set(INSTANCE); + } + + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister iconRegister) { + LVicon = itemIcon = iconRegister.registerIcon(getIconString()); + MVicon = iconRegister.registerIcon(MODID + ":itemCapacitorMV"); + HVicon = iconRegister.registerIcon(MODID + ":itemCapacitorHV"); + EVicon = iconRegister.registerIcon(MODID + ":itemCapacitorEV"); + IVicon = iconRegister.registerIcon(MODID + ":itemCapacitorIV"); + } + + @Override + public IIcon getIconFromDamage(int damage) { + switch (damage) { + case 1: + return MVicon; + case 2: + return HVicon; + case 3: + return EVicon; + case 4: + return IVicon; + default: + return LVicon; + } + } + + @Override + public void getSubItems(Item aItem, CreativeTabs par2CreativeTabs, List aList) { + for (int i = 0; i <= 4; i++) { + aList.add(new ItemStack(aItem, 1, i)); + } + } +} diff --git a/src/main/java/com/github/technus/tectech/thing/item/TeslaCoilComponent.java b/src/main/java/com/github/technus/tectech/thing/item/TeslaCoilComponent.java new file mode 100644 index 0000000000..cfd6b3b653 --- /dev/null +++ b/src/main/java/com/github/technus/tectech/thing/item/TeslaCoilComponent.java @@ -0,0 +1,68 @@ +package com.github.technus.tectech.thing.item; + +import com.github.technus.tectech.CommonValues; +import cpw.mods.fml.common.registry.GameRegistry; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.IIcon; + +import java.util.List; + +import static com.github.technus.tectech.Reference.MODID; +import static com.github.technus.tectech.thing.CustomItemList.teslaComponent; + + +public final class TeslaCoilComponent extends Item { + public static TeslaCoilComponent INSTANCE; + private static IIcon ultItemIcon; + + private TeslaCoilComponent() { + setHasSubtypes(true); + setUnlocalizedName("tm.itemTeslaComponent"); + setTextureName(MODID + ":itemTeslaComponent"); + } + + @Override + public void addInformation(ItemStack aStack, EntityPlayer ep, List aList, boolean boo) { + aList.add(CommonValues.BASS_MARK); + aList.add(EnumChatFormatting.BLUE + "Tesla bois need these!"); + } + + @Override + public String getUnlocalizedName(ItemStack aStack) { + return getUnlocalizedName() + "." + getDamage(aStack); + } + + public static void run() { + INSTANCE = new TeslaCoilComponent(); + GameRegistry.registerItem(INSTANCE, INSTANCE.getUnlocalizedName()); + teslaComponent.set(INSTANCE); + } + + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister iconRegister) { + itemIcon = iconRegister.registerIcon(getIconString()); + ultItemIcon = iconRegister.registerIcon(MODID + ":itemTeslaComponentUltimate"); + } + + @Override + public IIcon getIconFromDamage(int damage) { + if (damage == 1) { + return ultItemIcon; + } + return itemIcon; + } + + @Override + public void getSubItems(Item aItem, CreativeTabs par2CreativeTabs, List aList) { + aList.add(new ItemStack(aItem, 1, 0)); + aList.add(new ItemStack(aItem, 1, 1)); + } +} diff --git a/src/main/java/com/github/technus/tectech/thing/item/TeslaCoilCover.java b/src/main/java/com/github/technus/tectech/thing/item/TeslaCoilCover.java new file mode 100644 index 0000000000..2a1fff39a3 --- /dev/null +++ b/src/main/java/com/github/technus/tectech/thing/item/TeslaCoilCover.java @@ -0,0 +1,80 @@ +package com.github.technus.tectech.thing.item; + +import com.github.technus.tectech.CommonValues; +import cpw.mods.fml.common.registry.GameRegistry; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.IIcon; + +import java.util.List; + +import static com.github.technus.tectech.Reference.MODID; +import static com.github.technus.tectech.thing.CustomItemList.teslaCover; + + +public final class TeslaCoilCover extends Item { + public static TeslaCoilCover INSTANCE; + private static IIcon ultItemIcon; + + private TeslaCoilCover() { + setHasSubtypes(true); + setUnlocalizedName("tm.teslaCover"); + setTextureName(MODID + ":itemTeslaCover"); + } + + @Override + public void addInformation(ItemStack aStack, EntityPlayer ep, List aList, boolean boo) { + aList.add(CommonValues.BASS_MARK); + switch (aStack.getItemDamage()) { + case 0: + aList.add("Tesla-Enables Machines!"); + break; + case 1: + aList.add("Tesla-Enables Machines! (BUT LOUDER!!)"); + break; + default: + aList.add("Yeet this broken item into some spicy water!"); + break; + } + aList.add(EnumChatFormatting.BLUE + "Use on top of a machine to enable Tesla capabilities"); + aList.add(EnumChatFormatting.BLUE + "Who the hell uses cables anyway?"); + } + + @Override + public String getUnlocalizedName(ItemStack aStack) { + return getUnlocalizedName() + "." + getDamage(aStack); + } + + public static void run() { + INSTANCE = new TeslaCoilCover(); + GameRegistry.registerItem(INSTANCE, INSTANCE.getUnlocalizedName()); + teslaCover.set(INSTANCE); + } + + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister iconRegister) { + itemIcon = iconRegister.registerIcon(getIconString()); + ultItemIcon = iconRegister.registerIcon(MODID + ":itemTeslaCoverUltimate"); + } + + @Override + public IIcon getIconFromDamage(int damage) { + if (damage == 1) { + return ultItemIcon; + } + return itemIcon; + } + + @Override + public void getSubItems(Item aItem, CreativeTabs par2CreativeTabs, List aList) { + aList.add(new ItemStack(aItem, 1, 0)); + aList.add(new ItemStack(aItem, 1, 1)); + } +} diff --git a/src/main/java/com/github/technus/tectech/thing/item/TeslaStaff.java b/src/main/java/com/github/technus/tectech/thing/item/TeslaStaff.java new file mode 100644 index 0000000000..0102d367c3 --- /dev/null +++ b/src/main/java/com/github/technus/tectech/thing/item/TeslaStaff.java @@ -0,0 +1,50 @@ +package com.github.technus.tectech.thing.item; + +import com.github.technus.tectech.CommonValues; +import com.github.technus.tectech.Reference; +import cpw.mods.fml.common.registry.GameRegistry; +import gregtech.api.util.GT_Utility; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; + +import java.util.List; + +import static com.github.technus.tectech.Reference.MODID; +import static com.github.technus.tectech.thing.CustomItemList.teslaStaff; + + +public final class TeslaStaff extends Item { + public static TeslaStaff INSTANCE; + + private TeslaStaff() { + setUnlocalizedName("tm.teslaStaff"); + setTextureName(MODID + ":itemTeslaStaff"); + } + + @Override + public void addInformation(ItemStack aStack, EntityPlayer ep, List aList, boolean boo) { + aList.add(CommonValues.BASS_MARK); + aList.add("Power of the gods, at the whim of a mortal!"); + } + + @Override + public boolean onLeftClickEntity(ItemStack stack, EntityPlayer aPlayer, Entity entity) { + GT_Utility.sendChatToPlayer(aPlayer, "Zapperoni!"); + if (!(aPlayer instanceof EntityPlayerMP)) { + double aX = aPlayer.posX; + double aY = aPlayer.posY; + double aZ = aPlayer.posZ; + GT_Utility.doSoundAtClient(Reference.MODID + ":fx_scan", 1, 1.0F, aX, aY, aZ); + } + return false; + } + + public static void run() { + INSTANCE = new TeslaStaff(); + GameRegistry.registerItem(INSTANCE, INSTANCE.getUnlocalizedName()); + teslaStaff.set(INSTANCE); + } +}
\ No newline at end of file diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/Textures.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/Textures.java index d77749d130..69ff06e9e7 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/Textures.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/Textures.java @@ -33,6 +33,8 @@ public class Textures { private static final IIconContainer MACHINE_OPV_BOTTOM = new CustomIcon("iconsets/MACHINE_OPV_BOTTOM"); private static final IIconContainer MACHINE_MAXV_BOTTOM = new CustomIcon("iconsets/MACHINE_MAXV_BOTTOM"); + private static final IIconContainer TESLA_TRANSCEIVER_TOP = new CustomIcon("iconsets/TESLA_TRANSCEIVER_TOP"); + public static IIconContainer[] MACHINECASINGS_SIDE_TT = new IIconContainer[]{ MACHINE_8V_SIDE, MACHINE_LV_SIDE, MACHINE_MV_SIDE, MACHINE_HV_SIDE, MACHINE_EV_SIDE, MACHINE_IV_SIDE, MACHINE_LuV_SIDE, MACHINE_ZPM_SIDE, @@ -189,6 +191,8 @@ public class Textures { public static ITexture[][] MACHINE_CASINGS_TT = new ITexture[16][17]; + public static ITexture TESLA_TRANSCEIVER_TOP_BA = new GT_RenderedTexture(TESLA_TRANSCEIVER_TOP); + public Textures(){ for (byte i = 0; i < MACHINE_CASINGS_TT.length; i++) { for (byte j = 0; j < MACHINE_CASINGS_TT[i].length; j++) { diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Capacitor.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Capacitor.java index 2aae2b8c2b..44612f0c9b 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Capacitor.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Capacitor.java @@ -1,6 +1,8 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch; import com.github.technus.tectech.CommonValues; +import com.github.technus.tectech.Reference; +import com.github.technus.tectech.TecTech; import com.github.technus.tectech.Util; import com.github.technus.tectech.thing.metaTileEntity.hatch.gui.GT_Container_Capacitor; import com.github.technus.tectech.thing.metaTileEntity.hatch.gui.GT_GUIContainer_Capacitor; @@ -18,38 +20,51 @@ import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; +import java.util.HashMap; +import java.util.Map; + +import static com.github.technus.tectech.CommonValues.V; +import static com.github.technus.tectech.Util.getUniqueIdentifier; +import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; + /** * Created by Tec on 03.04.2017. */ public class GT_MetaTileEntity_Hatch_Capacitor extends GT_MetaTileEntity_Hatch { - private static Textures.BlockIcons.CustomIcon EM_H; - private static Textures.BlockIcons.CustomIcon EM_H_ACTIVE; + private static Textures.BlockIcons.CustomIcon TM_H; + private static Textures.BlockIcons.CustomIcon TM_H_ACTIVE; + private static Map<String, GT_MetaTileEntity_Hatch_Capacitor.CapacitorComponent> componentBinds = new HashMap<>(); public GT_MetaTileEntity_Hatch_Capacitor(int aID, String aName, String aNameRegional, int aTier, String descr) { - super(aID, aName, aNameRegional, aTier, 1, descr); + super(aID, aName, aNameRegional, aTier, 16, descr); Util.setTier(aTier,this); } public GT_MetaTileEntity_Hatch_Capacitor(String aName, int aTier, String aDescription, ITexture[][][] aTextures) { - super(aName, aTier, 1, aDescription, aTextures); + super(aName, aTier, 16, aDescription, aTextures); + } + + @Override + public int getInventoryStackLimit() { + return 1; } @Override @SideOnly(Side.CLIENT) public void registerIcons(IIconRegister aBlockIconRegister) { super.registerIcons(aBlockIconRegister); - EM_H_ACTIVE = new Textures.BlockIcons.CustomIcon("iconsets/EM_HOLDER_ACTIVE"); - EM_H = new Textures.BlockIcons.CustomIcon("iconsets/EM_HOLDER"); + TM_H_ACTIVE = new Textures.BlockIcons.CustomIcon("iconsets/TM_TESLA_CAPS_ACTIVE"); + TM_H = new Textures.BlockIcons.CustomIcon("iconsets/TM_TESLA_CAPS"); } @Override public ITexture[] getTexturesActive(ITexture aBaseTexture) { - return new ITexture[]{aBaseTexture, new GT_RenderedTexture(EM_H_ACTIVE)}; + return new ITexture[]{aBaseTexture, new GT_RenderedTexture(TM_H_ACTIVE)}; } @Override public ITexture[] getTexturesInactive(ITexture aBaseTexture) { - return new ITexture[]{aBaseTexture, new GT_RenderedTexture(EM_H)}; + return new ITexture[]{aBaseTexture, new GT_RenderedTexture(TM_H)}; } @Override @@ -64,7 +79,7 @@ public class GT_MetaTileEntity_Hatch_Capacitor extends GT_MetaTileEntity_Hatch { @Override public boolean isFacingValid(byte aFacing) { - return aFacing >= 2; + return true; } @Override @@ -102,18 +117,13 @@ public class GT_MetaTileEntity_Hatch_Capacitor extends GT_MetaTileEntity_Hatch { if (aBaseMetaTileEntity.isClientSide()) { return true; } - //if(aBaseMetaTileEntity.isActive()) - // aPlayer.addChatComponentMessage(new ChatComponentText("It is still active...")); - //else if(heat>0) - // aPlayer.addChatComponentMessage(new ChatComponentText("It is still warm...")); - //else aBaseMetaTileEntity.openGUI(aPlayer); return true; } @Override - public int getInventoryStackLimit() { - return 1; + public int getSizeInventory() { + return getBaseMetaTileEntity().isActive() ? 0 : mInventory.length; } @Override @@ -124,6 +134,83 @@ public class GT_MetaTileEntity_Hatch_Capacitor extends GT_MetaTileEntity_Hatch { EnumChatFormatting.AQUA + "Stores 'nergy! (for a while)" }; } + + public long[] getCapacitors() { + long tier = -1; + long tCurrent = 0; + long tEnergyMax = 0; + for (int i = 0; i < mInventory.length; i++) { + if (mInventory[i] == null || mInventory[i].stackSize != 1) { + continue; + } + CapacitorComponent cap = componentBinds.get(getUniqueIdentifier(mInventory[i])); + if (cap != null && cap.tier > tier) { + tier = cap.tier; + } + } + if (tier >= 0) { + for (int i = 0; i < mInventory.length; i++) { + if (mInventory[i] == null || mInventory[i].stackSize != 1) { + continue; + } + CapacitorComponent cap = componentBinds.get(getUniqueIdentifier(mInventory[i])); + if (cap == null) { + continue; + } + if (cap.tier < tier) { + if (getBaseMetaTileEntity().isActive()) { + mInventory[i] = null; + getBaseMetaTileEntity().setOnFire(); + } + } else { + tCurrent += cap.current; + tEnergyMax += cap.energyMax; + } + } + } + return new long[]{tier, tCurrent, tEnergyMax}; + } + + public static void run() { + new GT_MetaTileEntity_Hatch_Capacitor.CapacitorComponent(Reference.MODID+":item.tm.teslaCoilCapacitor.0", 0, 1, V[1]*512);//LV Capacitor + new GT_MetaTileEntity_Hatch_Capacitor.CapacitorComponent(Reference.MODID+":item.tm.teslaCoilCapacitor.1", 1, 1, V[2]*512);//MV Capacitor + new GT_MetaTileEntity_Hatch_Capacitor.CapacitorComponent(Reference.MODID+":item.tm.teslaCoilCapacitor.2", 2, 1, V[3]*512);//HV Capacitor + new GT_MetaTileEntity_Hatch_Capacitor.CapacitorComponent(Reference.MODID+":item.tm.teslaCoilCapacitor.3", 3, 1, V[4]*512);//EV Capacitor + new GT_MetaTileEntity_Hatch_Capacitor.CapacitorComponent(Reference.MODID+":item.tm.teslaCoilCapacitor.4", 4, 1, V[5]*512);//IV Capacitor + } + + public static class CapacitorComponent implements Comparable<GT_MetaTileEntity_Hatch_Capacitor.CapacitorComponent> { + private final String unlocalizedName; + private final long tier, current, energyMax; + + CapacitorComponent(ItemStack is, long tier, long current, long energyMax) { + this(getUniqueIdentifier(is), tier, current, energyMax); + } + + CapacitorComponent(String is, long tier, long current, long energyMax) { + unlocalizedName = is; + this.tier = tier; + this.current = current; + this.energyMax = energyMax; + componentBinds.put(unlocalizedName, this); + if (DEBUG_MODE) { + TecTech.LOGGER.info("Tesla Capacitor registered: " + unlocalizedName); + } + } + + @Override + public int compareTo(CapacitorComponent o) { + return unlocalizedName.compareTo(o.unlocalizedName); + } + + @Override + public boolean equals(Object obj) { + if(obj instanceof CapacitorComponent) { + return compareTo((CapacitorComponent) obj) == 0; + } + return false; + } + } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_DynamoMulti.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_DynamoMulti.java index 1ba4854b62..81ad00ea06 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_DynamoMulti.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_DynamoMulti.java @@ -8,6 +8,7 @@ import gregtech.api.metatileentity.MetaTileEntity; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; +import net.minecraft.util.StatCollector; import static com.github.technus.tectech.CommonValues.V; import static com.github.technus.tectech.thing.metaTileEntity.Textures.OVERLAYS_ENERGY_IN_POWER_TT; @@ -19,9 +20,9 @@ public class GT_MetaTileEntity_Hatch_DynamoMulti extends GT_MetaTileEntity_Hatch public final int Amperes; public GT_MetaTileEntity_Hatch_DynamoMulti(int aID, String aName, String aNameRegional, int aTier, int aAmp) { - super(aID, aName, aNameRegional, aTier, 0, "Multiple Ampere Energy Extractor for Multiblocks"); + super(aID, aName, aNameRegional, aTier, 0, StatCollector.translateToLocal("gt.blockmachines.hatch.dynamomulti.desc.0"));//Multiple Ampere Energy Extractor for Multiblocks Amperes = aAmp; - Util.setTier(aTier,this); + Util.setTier(aTier, this); } public GT_MetaTileEntity_Hatch_DynamoMulti(String aName, int aTier, int aAmp, String aDescription, ITexture[][][] aTextures) { @@ -117,4 +118,4 @@ public class GT_MetaTileEntity_Hatch_DynamoMulti extends GT_MetaTileEntity_Hatch //"Amperes Out: "+ EnumChatFormatting.AQUA+Amperes+" A" }; } -} +}
\ No newline at end of file diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_DynamoTunnel.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_DynamoTunnel.java index 2e1a62f46d..95bb0bc60d 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_DynamoTunnel.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_DynamoTunnel.java @@ -12,6 +12,7 @@ import gregtech.api.util.GT_Utility; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.StatCollector; import static com.github.technus.tectech.CommonValues.TRANSFER_AT; import static com.github.technus.tectech.CommonValues.V; @@ -22,8 +23,8 @@ import static com.github.technus.tectech.thing.metaTileEntity.Textures.OVERLAYS_ */ public class GT_MetaTileEntity_Hatch_DynamoTunnel extends GT_MetaTileEntity_Hatch_DynamoMulti implements IConnectsToEnergyTunnel { public GT_MetaTileEntity_Hatch_DynamoTunnel(int aID, String aName, String aNameRegional, int aTier, int aAmp) { - super(aID, aName, aNameRegional, aTier, 0, "Energy extracting terminal for Multiblocks",aAmp); - Util.setTier(aTier,this); + super(aID, aName, aNameRegional, aTier, 0, StatCollector.translateToLocal("gt.blockmachines.hatch.dynamotunnel.desc.0"), aAmp);//Energy extracting terminal for Multiblocks + Util.setTier(aTier, this); } public GT_MetaTileEntity_Hatch_DynamoTunnel(String aName, int aTier, int aAmp, String aDescription, ITexture[][][] aTextures) { @@ -105,7 +106,7 @@ public class GT_MetaTileEntity_Hatch_DynamoTunnel extends GT_MetaTileEntity_Hatc return new String[]{ CommonValues.TEC_MARK_GENERAL, mDescription, - "Throughput: "+ EnumChatFormatting.YELLOW +(Amperes*maxEUOutput())+EnumChatFormatting.RESET+" EU/t" + StatCollector.translateToLocal("gt.blockmachines.hatch.dynamotunnel.desc.1") + ": " + EnumChatFormatting.YELLOW + (Amperes * maxEUOutput()) + EnumChatFormatting.RESET + " EU/t"//Throughput }; } @@ -114,13 +115,13 @@ public class GT_MetaTileEntity_Hatch_DynamoTunnel extends GT_MetaTileEntity_Hatc if (aBaseMetaTileEntity.isServerSide()) { byte Tick = (byte) (aTick % 20); if (TRANSFER_AT == Tick) { - if(aBaseMetaTileEntity.getStoredEU()>0){ - setEUVar(aBaseMetaTileEntity.getStoredEU()-Amperes); - if(aBaseMetaTileEntity.getStoredEU()<0){ + if (aBaseMetaTileEntity.getStoredEU() > 0) { + setEUVar(aBaseMetaTileEntity.getStoredEU() - Amperes); + if (aBaseMetaTileEntity.getStoredEU() < 0) { setEUVar(0); } } - if(aBaseMetaTileEntity.getStoredEU()>getMinimumStoredEU()){ + if (aBaseMetaTileEntity.getStoredEU() > getMinimumStoredEU()) { moveAround(aBaseMetaTileEntity); } } @@ -141,30 +142,30 @@ public class GT_MetaTileEntity_Hatch_DynamoTunnel extends GT_MetaTileEntity_Hatc if (aMetaTileEntity != null) { if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_EnergyTunnel && opposite == tGTTileEntity.getFrontFacing()) { - if(maxEUOutput()>((GT_MetaTileEntity_Hatch_EnergyTunnel) aMetaTileEntity).maxEUInput()){ + if (maxEUOutput() > ((GT_MetaTileEntity_Hatch_EnergyTunnel) aMetaTileEntity).maxEUInput()) { aMetaTileEntity.doExplosion(maxEUOutput()); - setEUVar(aBaseMetaTileEntity.getStoredEU()-maxEUOutput()); + setEUVar(aBaseMetaTileEntity.getStoredEU() - maxEUOutput()); return; - }else if(maxEUOutput()==((GT_MetaTileEntity_Hatch_EnergyTunnel) aMetaTileEntity).maxEUInput()) { - long diff=Math.min( - Amperes*20, + } else if (maxEUOutput() == ((GT_MetaTileEntity_Hatch_EnergyTunnel) aMetaTileEntity).maxEUInput()) { + long diff = Math.min( + Amperes * 20, Math.min( - ((GT_MetaTileEntity_Hatch_EnergyTunnel) aMetaTileEntity).maxEUStore()- + ((GT_MetaTileEntity_Hatch_EnergyTunnel) aMetaTileEntity).maxEUStore() - aMetaTileEntity.getBaseMetaTileEntity().getStoredEU(), - maxEUStore()-aBaseMetaTileEntity.getStoredEU() - )/maxEUOutput() - )*maxEUOutput(); + maxEUStore() - aBaseMetaTileEntity.getStoredEU() + ) / maxEUOutput() + ) * maxEUOutput(); - setEUVar(aBaseMetaTileEntity.getStoredEU()-diff); + setEUVar(aBaseMetaTileEntity.getStoredEU() - diff); ((GT_MetaTileEntity_Hatch_EnergyTunnel) aMetaTileEntity) - .setEUVar(aMetaTileEntity.getBaseMetaTileEntity().getStoredEU()+diff); + .setEUVar(aMetaTileEntity.getBaseMetaTileEntity().getStoredEU() + diff); } return; } else if (aMetaTileEntity instanceof GT_MetaTileEntity_Pipe_Energy) { if (((GT_MetaTileEntity_Pipe_Energy) aMetaTileEntity).connectionCount < 2) { return; - }else { + } else { ((GT_MetaTileEntity_Pipe_Energy) aMetaTileEntity).markUsed(); } } else { @@ -183,4 +184,4 @@ public class GT_MetaTileEntity_Hatch_DynamoTunnel extends GT_MetaTileEntity_Hatc public boolean canConnect(byte side) { return isOutputFacing(side); } -} +}
\ No newline at end of file diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_ElementalContainer.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_ElementalContainer.java index 066bcaa166..c96cb91f45 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_ElementalContainer.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_ElementalContainer.java @@ -19,6 +19,7 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.StatCollector; import net.minecraftforge.fluids.FluidStack; import static com.github.technus.tectech.CommonValues.*; @@ -43,7 +44,7 @@ public abstract class GT_MetaTileEntity_Hatch_ElementalContainer extends GT_Meta protected GT_MetaTileEntity_Hatch_ElementalContainer(int aID, String aName, String aNameRegional, int aTier, String descr) { super(aID, aName, aNameRegional, aTier, 0, descr); - Util.setTier(aTier,this); + Util.setTier(aTier, this); } protected GT_MetaTileEntity_Hatch_ElementalContainer(String aName, int aTier, String aDescription, ITexture[][][] aTextures) { @@ -104,7 +105,7 @@ public abstract class GT_MetaTileEntity_Hatch_ElementalContainer extends GT_Meta byte Tick = (byte) (aTick % 20); if (DECAY_AT == Tick) { purgeOverflow(); - content.tickContentByOneSecond(1,postEnergize);//Hatches don't life time mult things + content.tickContentByOneSecond(1, postEnergize);//Hatches don't life time mult things purgeOverflow(); } else if (OVERFLOW_AT == Tick) { if (overflowMatter <= 0) { @@ -124,8 +125,8 @@ public abstract class GT_MetaTileEntity_Hatch_ElementalContainer extends GT_Meta if (TecTech.configTecTech.BOOM_ENABLE) { tGTTileEntity.doExplosion(V[14]); } else { - TecTech.anomalyHandler.addAnomaly(aBaseMetaTileEntity,overflowMatter*32D); - TecTech.proxy.broadcast("Container1 BOOM! " +aBaseMetaTileEntity.getXCoord() + ' ' + aBaseMetaTileEntity.getYCoord() + ' ' + aBaseMetaTileEntity.getZCoord()); + TecTech.anomalyHandler.addAnomaly(aBaseMetaTileEntity, overflowMatter * 32D); + TecTech.proxy.broadcast("Container1 " + StatCollector.translateToLocal("tt.keyword.BOOM") + " " + aBaseMetaTileEntity.getXCoord() + ' ' + aBaseMetaTileEntity.getYCoord() + ' ' + aBaseMetaTileEntity.getZCoord()); } } deathDelay = 3;//needed in some cases like repetitive failures. Should be 4 since there is -- at end but meh... @@ -135,10 +136,10 @@ public abstract class GT_MetaTileEntity_Hatch_ElementalContainer extends GT_Meta if (TecTech.configTecTech.BOOM_ENABLE) { aBaseMetaTileEntity.doExplosion(V[14]); } else { - TecTech.anomalyHandler.addAnomaly(aBaseMetaTileEntity,overflowMatter*32D); - deathDelay=3; - overflowMatter=0; - TecTech.proxy.broadcast("Container0 BOOM! " + aBaseMetaTileEntity.getXCoord() + ' ' + aBaseMetaTileEntity.getYCoord() + ' ' + aBaseMetaTileEntity.getZCoord()); + TecTech.anomalyHandler.addAnomaly(aBaseMetaTileEntity, overflowMatter * 32D); + deathDelay = 3; + overflowMatter = 0; + TecTech.proxy.broadcast("Container0 " + StatCollector.translateToLocal("tt.keyword.BOOM") + " " + aBaseMetaTileEntity.getXCoord() + ' ' + aBaseMetaTileEntity.getYCoord() + ' ' + aBaseMetaTileEntity.getZCoord()); } } deathDelay--; @@ -220,33 +221,33 @@ public abstract class GT_MetaTileEntity_Hatch_ElementalContainer extends GT_Meta @Override public String[] getInfoData() { - if(TecTech.configTecTech.EASY_SCAN) { + if (TecTech.configTecTech.EASY_SCAN) { if (id > 0) { if (content == null || content.size() == 0) { - return new String[]{"ID: " + EnumChatFormatting.AQUA + id, "No Stacks"}; + return new String[]{StatCollector.translateToLocal("tt.keyword.ID") + ": " + EnumChatFormatting.AQUA + id, StatCollector.translateToLocal("tt.keyphrase.No_Stacks")}; } else { String[] lines = content.getElementalInfo(); String[] output = new String[lines.length + 1]; - output[0] = "ID: " + EnumChatFormatting.AQUA + id; + output[0] = StatCollector.translateToLocal("tt.keyword.ID") + ": " + EnumChatFormatting.AQUA + id; System.arraycopy(lines, 0, output, 1, lines.length); return output; } } if (content == null || content.size() == 0) { - return new String[]{"No Stacks"}; + return new String[]{StatCollector.translateToLocal("tt.keyphrase.No_Stacks")}; } return content.getElementalInfo(); } else { - if(id>0){ + if (id > 0) { if (content == null || content.size() == 0) { - return new String[]{"ID: " + EnumChatFormatting.AQUA + id, "No Stacks"}; + return new String[]{StatCollector.translateToLocal("tt.keyword.ID") + ": " + EnumChatFormatting.AQUA + id, StatCollector.translateToLocal("tt.keyphrase.No_Stacks")}; } - return new String[]{"ID: " + EnumChatFormatting.AQUA + id, "Contains EM"}; + return new String[]{StatCollector.translateToLocal("tt.keyword.ID") + ": " + EnumChatFormatting.AQUA + id, StatCollector.translateToLocal("tt.keyphrase.Contains_EM")}; } if (content == null || content.size() == 0) { - return new String[]{"No Stacks"}; + return new String[]{StatCollector.translateToLocal("tt.keyphrase.No_Stacks")}; } - return new String[]{"Contains EM"}; + return new String[]{StatCollector.translateToLocal("tt.keyphrase.Contains_EM")}; } } @@ -259,27 +260,27 @@ public abstract class GT_MetaTileEntity_Hatch_ElementalContainer extends GT_Meta return new String[]{ TEC_MARK_EM, mDescription, - "Max stacks amount: " + EnumChatFormatting.AQUA + getMaxStacksCount(), - "Stack capacity: " + EnumChatFormatting.AQUA + getMaxStackSize(), - "Place Overflow Hatch behind,on top or below", - "to provide overflow protection while this block", - "is not attached to multi block.", - "Transport range can be extended in straight", - "line up to 15 blocks with quantum tunnels.", - EnumChatFormatting.AQUA + "Must be painted to work" + StatCollector.translateToLocal("tt.base.emhatch.desc.0") + " " + EnumChatFormatting.AQUA + getMaxStacksCount(),//Max stacks amount: + StatCollector.translateToLocal("tt.base.emhatch.desc.1") + " " + EnumChatFormatting.AQUA + getMaxStackSize(),//Stack capacity: + StatCollector.translateToLocal("tt.base.emhatch.desc.2"),//Place Overflow Hatch behind,on top or below + StatCollector.translateToLocal("tt.base.emhatch.desc.3"),//to provide overflow protection while this block + StatCollector.translateToLocal("tt.base.emhatch.desc.4"),//is not attached to multi block. + StatCollector.translateToLocal("tt.base.emhatch.desc.5"),//Transport range can be extended in straight + StatCollector.translateToLocal("tt.base.emhatch.desc.6"),//line up to 15 blocks with quantum tunnels. + EnumChatFormatting.AQUA + StatCollector.translateToLocal("tt.base.emhatch.desc.7")//Must be painted to work }; } @Override public void onRemoval() { if (isValidMetaTileEntity(this) && getBaseMetaTileEntity().isActive()) { - TecTech.anomalyHandler.addAnomaly(getBaseMetaTileEntity(),(overflowMatter+content.getMass())*16D); - IGregTechTileEntity base=getBaseMetaTileEntity(); + TecTech.anomalyHandler.addAnomaly(getBaseMetaTileEntity(), (overflowMatter + content.getMass()) * 16D); + IGregTechTileEntity base = getBaseMetaTileEntity(); if (TecTech.configTecTech.BOOM_ENABLE) { base.doExplosion(V[15]); } else { - TecTech.proxy.broadcast("BOOM! " +base.getXCoord() + ' ' + base.getYCoord() + ' ' + base.getZCoord()); + TecTech.proxy.broadcast(StatCollector.translateToLocal("tt.keyword.BOOM") + " " + base.getXCoord() + ' ' + base.getYCoord() + ' ' + base.getZCoord()); } } } -} +}
\ No newline at end of file diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_EnergyMulti.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_EnergyMulti.java index 06bdd4faba..b9030d2dbe 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_EnergyMulti.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_EnergyMulti.java @@ -9,6 +9,7 @@ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.StatCollector; import static com.github.technus.tectech.CommonValues.V; import static com.github.technus.tectech.thing.metaTileEntity.Textures.OVERLAYS_ENERGY_IN_POWER_TT; @@ -20,9 +21,9 @@ public class GT_MetaTileEntity_Hatch_EnergyMulti extends GT_MetaTileEntity_Hatch public final int Amperes; public GT_MetaTileEntity_Hatch_EnergyMulti(int aID, String aName, String aNameRegional, int aTier, int aAmp) { - super(aID, aName, aNameRegional, aTier, 0, "Multiple Ampere Energy Injector for Multiblocks"); + super(aID, aName, aNameRegional, aTier, 0, StatCollector.translateToLocal("gt.blockmachines.hatch.energymulti.desc.0"));//Multiple Ampere Energy Injector for Multiblocks Amperes = aAmp; - Util.setTier(aTier,this); + Util.setTier(aTier, this); } public GT_MetaTileEntity_Hatch_EnergyMulti(String aName, int aTier, int aAmp, String aDescription, ITexture[][][] aTextures) { @@ -30,7 +31,7 @@ public class GT_MetaTileEntity_Hatch_EnergyMulti extends GT_MetaTileEntity_Hatch Amperes = aAmp; } - public GT_MetaTileEntity_Hatch_EnergyMulti(int aID, String aName, String aNameRegional, int aTier, int i, String description,int aAmp) { + public GT_MetaTileEntity_Hatch_EnergyMulti(int aID, String aName, String aNameRegional, int aTier, int i, String description, int aAmp) { super(aID, aName, aNameRegional, aTier, 0, description); Amperes = aAmp; } @@ -115,7 +116,7 @@ public class GT_MetaTileEntity_Hatch_EnergyMulti extends GT_MetaTileEntity_Hatch return new String[]{ CommonValues.TEC_MARK_GENERAL, mDescription, - "Amperes In: " + EnumChatFormatting.AQUA + maxAmperesIn() + " A" + StatCollector.translateToLocal("gt.blockmachines.hatch.energymulti.desc.1") + ": " + EnumChatFormatting.AQUA + maxAmperesIn() + " A"//Amperes In }; } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_EnergyTunnel.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_EnergyTunnel.java index e074f9dabb..118a659e93 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_EnergyTunnel.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_EnergyTunnel.java @@ -10,6 +10,7 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.StatCollector; import static com.github.technus.tectech.CommonValues.TRANSFER_AT; import static com.github.technus.tectech.CommonValues.V; @@ -20,8 +21,8 @@ import static com.github.technus.tectech.thing.metaTileEntity.Textures.OVERLAYS_ */ public class GT_MetaTileEntity_Hatch_EnergyTunnel extends GT_MetaTileEntity_Hatch_EnergyMulti implements IConnectsToEnergyTunnel { public GT_MetaTileEntity_Hatch_EnergyTunnel(int aID, String aName, String aNameRegional, int aTier, int aAmp) { - super(aID, aName, aNameRegional, aTier, 0, "Energy injecting terminal for Multiblocks",aAmp); - Util.setTier(aTier,this); + super(aID, aName, aNameRegional, aTier, 0, StatCollector.translateToLocal("gt.blockmachines.hatch.energytunnel.desc.0"), aAmp);//Energy injecting terminal for Multiblocks + Util.setTier(aTier, this); } public GT_MetaTileEntity_Hatch_EnergyTunnel(String aName, int aTier, int aAmp, String aDescription, ITexture[][][] aTextures) { @@ -113,7 +114,7 @@ public class GT_MetaTileEntity_Hatch_EnergyTunnel extends GT_MetaTileEntity_Hatc return new String[]{ CommonValues.TEC_MARK_GENERAL, mDescription, - "Throughput: "+ EnumChatFormatting.YELLOW +(Amperes*maxEUInput())+EnumChatFormatting.RESET+" EU/t" + StatCollector.translateToLocal("gt.blockmachines.hatch.energytunnel.desc.1") + ": " + EnumChatFormatting.YELLOW + (Amperes * maxEUInput()) + EnumChatFormatting.RESET + " EU/t"//Throughput }; } @@ -127,13 +128,13 @@ public class GT_MetaTileEntity_Hatch_EnergyTunnel extends GT_MetaTileEntity_Hatc if (aBaseMetaTileEntity.isServerSide()) { byte Tick = (byte) (aTick % 20); if (TRANSFER_AT == Tick) { - if(aBaseMetaTileEntity.getStoredEU()>0){ - setEUVar(aBaseMetaTileEntity.getStoredEU()-Amperes); - if(aBaseMetaTileEntity.getStoredEU()<0){ + if (aBaseMetaTileEntity.getStoredEU() > 0) { + setEUVar(aBaseMetaTileEntity.getStoredEU() - Amperes); + if (aBaseMetaTileEntity.getStoredEU() < 0) { setEUVar(0); } } } } } -} +}
\ No newline at end of file diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_InputElemental.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_InputElemental.java index 6078c6379a..466b0e64af 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_InputElemental.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_InputElemental.java @@ -4,14 +4,15 @@ import com.github.technus.tectech.Util; import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.metatileentity.MetaTileEntity; +import net.minecraft.util.StatCollector; /** * Created by danie_000 on 27.10.2016. */ public class GT_MetaTileEntity_Hatch_InputElemental extends GT_MetaTileEntity_Hatch_ElementalContainer { public GT_MetaTileEntity_Hatch_InputElemental(int aID, String aName, String aNameRegional, int aTier) { - super(aID, aName, aNameRegional, aTier, "Elemental Input for Multiblocks"); - Util.setTier(aTier,this); + super(aID, aName, aNameRegional, aTier, StatCollector.translateToLocal("gt.blockmachines.emin.desc"));//Elemental Input for Multiblocks + Util.setTier(aTier, this); } //public GT_MetaTileEntity_Hatch_InputElemental(String aName, int aTier, String aDescription, ITexture[][][] aTextures) { diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_OutputElemental.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_OutputElemental.java index adfcb1d464..8801388e84 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_OutputElemental.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_OutputElemental.java @@ -7,13 +7,14 @@ import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.metatileentity.MetaTileEntity; import gregtech.api.util.GT_Utility; +import net.minecraft.util.StatCollector; /** * Created by danie_000 on 27.10.2016. */ public class GT_MetaTileEntity_Hatch_OutputElemental extends GT_MetaTileEntity_Hatch_ElementalContainer { public GT_MetaTileEntity_Hatch_OutputElemental(int aID, String aName, String aNameRegional, int aTier) { - super(aID, aName, aNameRegional, aTier, "Elemental Output for Multiblocks"); + super(aID, aName, aNameRegional, aTier, StatCollector.translateToLocal("gt.blockmachines.emout.desc"));//Elemental Output for Multiblocks Util.setTier(aTier,this); } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_OverflowElemental.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_OverflowElemental.java index 18eb8b8c72..3e7ceec796 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_OverflowElemental.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_OverflowElemental.java @@ -21,6 +21,7 @@ import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.StatCollector; import net.minecraft.world.EnumSkyBlock; import net.minecraftforge.common.util.ForgeDirection; @@ -45,11 +46,11 @@ public class GT_MetaTileEntity_Hatch_OverflowElemental extends GT_MetaTileEntity private final float overflowDisperse; public GT_MetaTileEntity_Hatch_OverflowElemental(int aID, String aName, String aNameRegional, int aTier, float max) { - super(aID, aName, aNameRegional, aTier, 0, "Disposes excess elemental Matter"); + super(aID, aName, aNameRegional, aTier, 0, StatCollector.translateToLocal("gt.blockmachines.hatch.emmuffler.desc.0"));//Disposes excess elemental Matter overflowMatter = max / 2; overflowMax = max; overflowDisperse = overflowMax / (float) (30 - aTier); - Util.setTier(aTier,this); + Util.setTier(aTier, this); } public GT_MetaTileEntity_Hatch_OverflowElemental(String aName, int aTier, float max, String aDescription, ITexture[][][] aTextures) { @@ -84,9 +85,9 @@ public class GT_MetaTileEntity_Hatch_OverflowElemental extends GT_MetaTileEntity return new String[]{ CommonValues.TEC_MARK_EM, mDescription, - "Mass capacity: " + EnumChatFormatting.AQUA + String.format(Locale.ENGLISH, "%+.2E", overflowMax) + " eV/c\u00b2", - "Disposal Speed: " + EnumChatFormatting.AQUA + String.format(Locale.ENGLISH, "%+.2E", overflowDisperse) + " (eV/c\u00b2)/s", - "DO NOT OBSTRUCT THE OUTPUT!" + StatCollector.translateToLocal("gt.blockmachines.hatch.emmuffler.desc.1") + ": " + EnumChatFormatting.AQUA + String.format(Locale.ENGLISH, "%+.2E", overflowMax) + " eV/c\u00b2", + StatCollector.translateToLocal("gt.blockmachines.hatch.emmuffler.desc.2") + ": " + EnumChatFormatting.AQUA + String.format(Locale.ENGLISH, "%+.2E", overflowDisperse) + " (eV/c\u00b2)/s", + StatCollector.translateToLocal("gt.blockmachines.hatch.emmuffler.desc.3") }; } @@ -142,10 +143,10 @@ public class GT_MetaTileEntity_Hatch_OverflowElemental extends GT_MetaTileEntity if (aBaseMetaTileEntity.isServerSide() && aTick % 20 == DISPERSE_AT) { if (aBaseMetaTileEntity.isActive()) { if (overflowMatter > overflowDisperse) { - TecTech.anomalyHandler.addAnomaly(aBaseMetaTileEntity,overflowDisperse); + TecTech.anomalyHandler.addAnomaly(aBaseMetaTileEntity, overflowDisperse); overflowMatter -= overflowDisperse; } else { - TecTech.anomalyHandler.addAnomaly(aBaseMetaTileEntity,overflowMatter); + TecTech.anomalyHandler.addAnomaly(aBaseMetaTileEntity, overflowMatter); overflowMatter = 0; aBaseMetaTileEntity.setActive(false); aBaseMetaTileEntity.setLightValue((byte) 0); @@ -166,20 +167,20 @@ public class GT_MetaTileEntity_Hatch_OverflowElemental extends GT_MetaTileEntity //DOES NOT CHECK FOR TOO MUCH, it is done only while putting stuff in (OPTIMIZATION!!!) } - private void vapePollution(IGregTechTileEntity mte){ - float xPos=mte.getXCoord()+0.5f; - float yPos=mte.getYCoord()+0.5f; - float zPos=mte.getZCoord()+0.5f; + private void vapePollution(IGregTechTileEntity mte) { + float xPos = mte.getXCoord() + 0.5f; + float yPos = mte.getYCoord() + 0.5f; + float zPos = mte.getZCoord() + 0.5f; int xDirShift = ForgeDirection.getOrientation(mte.getFrontFacing()).offsetX; int yDirShift = ForgeDirection.getOrientation(mte.getFrontFacing()).offsetY; int zDirShift = ForgeDirection.getOrientation(mte.getFrontFacing()).offsetZ; - AxisAlignedBB aabb=AxisAlignedBB.getBoundingBox(xPos-.5+xDirShift,yPos-.5+yDirShift,zPos-.5+zDirShift,xPos+.5+xDirShift,yPos+1.5+yDirShift,zPos+.5+zDirShift); + AxisAlignedBB aabb = AxisAlignedBB.getBoundingBox(xPos - .5 + xDirShift, yPos - .5 + yDirShift, zPos - .5 + zDirShift, xPos + .5 + xDirShift, yPos + 1.5 + yDirShift, zPos + .5 + zDirShift); for (Object entity : mte.getWorld().getEntitiesWithinAABB(EntityLivingBase.class, aabb)) { - float damagingFactor = (float)Math.log(overflowDisperse); - ((EntityLivingBase) entity).addPotionEffect(new PotionEffect(Potion.confusion.id,1,(int)(damagingFactor*20))); - ((EntityLivingBase) entity).addPotionEffect(new PotionEffect(Potion.wither.id,2,(int)(damagingFactor*15))); + float damagingFactor = (float) Math.log(overflowDisperse); + ((EntityLivingBase) entity).addPotionEffect(new PotionEffect(Potion.confusion.id, 1, (int) (damagingFactor * 20))); + ((EntityLivingBase) entity).addPotionEffect(new PotionEffect(Potion.wither.id, 2, (int) (damagingFactor * 15))); ((EntityLivingBase) entity).attackEntityFrom(elementalPollution, damagingFactor); } } @@ -192,28 +193,28 @@ public class GT_MetaTileEntity_Hatch_OverflowElemental extends GT_MetaTileEntity @Override public String[] getInfoData() { return new String[]{ - "Contained mass:", + StatCollector.translateToLocal("tt.keyphrase.Contained_mass") + ":", EnumChatFormatting.RED + Double.toString(overflowMatter) + EnumChatFormatting.RESET + " eV/c\u00b2 /", EnumChatFormatting.GREEN + Double.toString(overflowMax) + EnumChatFormatting.RESET + " eV/c\u00b2", - "Mass Disposal speed: " + EnumChatFormatting.BLUE + overflowDisperse + EnumChatFormatting.RESET + " (eV/c\u00b2)/s" + StatCollector.translateToLocal("tt.keyphrase.Mass_Disposal_speed") + ": " + EnumChatFormatting.BLUE + overflowDisperse + EnumChatFormatting.RESET + " (eV/c\u00b2)/s" }; } @Override public void onRemoval() { if (isValidMetaTileEntity(this) && getBaseMetaTileEntity().isActive()) { - TecTech.anomalyHandler.addAnomaly(getBaseMetaTileEntity(),overflowMatter*8D); + TecTech.anomalyHandler.addAnomaly(getBaseMetaTileEntity(), overflowMatter * 8D); if (TecTech.configTecTech.BOOM_ENABLE) { getBaseMetaTileEntity().doExplosion(V[15]); } else { - TecTech.proxy.broadcast("Muffler BOOM! " + getBaseMetaTileEntity().getXCoord() + ' ' + getBaseMetaTileEntity().getYCoord() + ' ' + getBaseMetaTileEntity().getZCoord()); + TecTech.proxy.broadcast(StatCollector.translateToLocal("tt.keyphrase.Muffler_BOOM") + " " + getBaseMetaTileEntity().getXCoord() + ' ' + getBaseMetaTileEntity().getYCoord() + ' ' + getBaseMetaTileEntity().getZCoord()); } } } //Return - Should Explode - public boolean addOverflowMatter(float matter){ - overflowMatter+=matter; + public boolean addOverflowMatter(float matter) { + overflowMatter += matter; return overflowMatter > overflowMax; } @@ -226,4 +227,4 @@ public class GT_MetaTileEntity_Hatch_OverflowElemental extends GT_MetaTileEntity this.overflowMatter = overflowMatter; return overflowMatter > overflowMax; } -} +}
\ No newline at end of file diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_Capacitor.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_Capacitor.java index f368867736..cd29379afc 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_Capacitor.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_Capacitor.java @@ -7,9 +7,6 @@ import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.Slot; import net.minecraft.item.ItemStack; -/** - * Created by Tec on 09.04.2017. - */ public class GT_Container_Capacitor extends GT_ContainerMetaTile_Machine { public GT_Container_Capacitor(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity) { super(aInventoryPlayer, aTileEntity); @@ -17,17 +14,36 @@ public class GT_Container_Capacitor extends GT_ContainerMetaTile_Machine { @Override public void addSlots(InventoryPlayer aInventoryPlayer) { - addSlotToContainer(new Slot(mTileEntity, 0, 80, 39)); + this.addSlotToContainer(new Slot(this.mTileEntity, 0, 53, 8)); + this.addSlotToContainer(new Slot(this.mTileEntity, 1, 71, 8)); + this.addSlotToContainer(new Slot(this.mTileEntity, 2, 89, 8)); + this.addSlotToContainer(new Slot(this.mTileEntity, 3, 107, 8)); + this.addSlotToContainer(new Slot(this.mTileEntity, 4, 53, 26)); + this.addSlotToContainer(new Slot(this.mTileEntity, 5, 71, 26)); + this.addSlotToContainer(new Slot(this.mTileEntity, 6, 89, 26)); + this.addSlotToContainer(new Slot(this.mTileEntity, 7, 107, 26)); + this.addSlotToContainer(new Slot(this.mTileEntity, 8, 53, 44)); + this.addSlotToContainer(new Slot(this.mTileEntity, 9, 71, 44)); + this.addSlotToContainer(new Slot(this.mTileEntity, 10, 89, 44)); + this.addSlotToContainer(new Slot(this.mTileEntity, 11, 107, 44)); + this.addSlotToContainer(new Slot(this.mTileEntity, 12, 53, 62)); + this.addSlotToContainer(new Slot(this.mTileEntity, 13, 71, 62)); + this.addSlotToContainer(new Slot(this.mTileEntity, 14, 89, 62)); + this.addSlotToContainer(new Slot(this.mTileEntity, 15, 107, 62)); } @Override - public int getSlotCount() { - return 1; - } + public int getSlotCount() { return 16; } + + @Override + public int getShiftClickSlotCount() { return getSlotCount(); } @Override - public int getShiftClickSlotCount() { - return 1; + public void detectAndSendChanges() { + super.detectAndSendChanges(); + if (mTileEntity.isClientSide() || mTileEntity.getMetaTileEntity() == null) { + return; + } } @Override diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_Capacitor.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_Capacitor.java index fbc34f1e29..3850e7dc30 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_Capacitor.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_Capacitor.java @@ -4,17 +4,19 @@ import gregtech.api.gui.GT_GUIContainerMetaTile_Machine; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import net.minecraft.entity.player.InventoryPlayer; -/** - * Created by Tec on 09.04.2017. - */ public class GT_GUIContainer_Capacitor extends GT_GUIContainerMetaTile_Machine { private final String mName; public GT_GUIContainer_Capacitor(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity, String aName) { - super(new GT_Container_Capacitor(aInventoryPlayer, aTileEntity), "gregtech:textures/gui/holder.png"); + super(new GT_Container_Capacitor(aInventoryPlayer, aTileEntity), "gregtech:textures/gui/4by4.png"); mName = aName; } + public GT_GUIContainer_Capacitor(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity, String aName, String aBackground) { + super(new GT_Container_Capacitor(aInventoryPlayer, aTileEntity), "gregtech:textures/gui/" + aBackground + "4by4.png"); + this.mName = aName; + } + @Override protected void drawGuiContainerForegroundLayer(int par1, int par2) { fontRendererObj.drawString(mName, 8, 4, 4210752); @@ -23,13 +25,8 @@ public class GT_GUIContainer_Capacitor extends GT_GUIContainerMetaTile_Machine { @Override protected void drawGuiContainerBackgroundLayer(float par1, int par2, int par3) { super.drawGuiContainerBackgroundLayer(par1, par2, par3); - int x = (width - xSize) / 2; - int y = (height - ySize) / 2; - drawTexturedModalRect(x, y, 0, 0, xSize, ySize); - if (mContainer != null) { - if (((GT_Container_Capacitor) mContainer).mActive == 1) { - drawTexturedModalRect(x + 151, y + 23, 183, 23, 18, 18); - } - } + int x = (this.width - this.xSize) / 2; + int y = (this.height - this.ySize) / 2; + this.drawTexturedModalRect(x, y, 0, 0, this.xSize, this.ySize); } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_computer.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_computer.java index 0facf9e949..2f3bca7c16 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_computer.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_computer.java @@ -30,6 +30,7 @@ import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.ResourceLocation; +import net.minecraft.util.StatCollector; import java.util.ArrayList; @@ -44,35 +45,11 @@ import static com.github.technus.tectech.thing.metaTileEntity.multi.base.LedStat * Created by danie_000 on 17.12.2016. */ public class GT_MetaTileEntity_EM_computer extends GT_MetaTileEntity_MultiblockBase_EM implements IConstructable { + private final ArrayList<GT_MetaTileEntity_Hatch_Rack> eRacks = new ArrayList<>(); + private static Textures.BlockIcons.CustomIcon ScreenOFF; private static Textures.BlockIcons.CustomIcon ScreenON; - //region parameters - protected Parameters.Group.ParameterIn overclock,overvolt; - protected Parameters.Group.ParameterOut maxCurrentTemp,availableData; - private static final INameFunction<GT_MetaTileEntity_EM_computer> OC_NAME = (base, p)-> "Overclock ratio"; - private static final INameFunction<GT_MetaTileEntity_EM_computer> OV_NAME = (base, p)-> "Overvoltage ratio"; - private static final INameFunction<GT_MetaTileEntity_EM_computer> MAX_TEMP_NAME = (base, p)-> "Current max. heat"; - private static final INameFunction<GT_MetaTileEntity_EM_computer> COMPUTE_NAME = (base, p)-> "Produced computation"; - private static final IStatusFunction<GT_MetaTileEntity_EM_computer> OC_STATUS= - (base,p)->LedStatus.fromLimitsInclusiveOuterBoundary(p.get(),0,1,1,3); - private static final IStatusFunction<GT_MetaTileEntity_EM_computer> OV_STATUS= - (base,p)->LedStatus.fromLimitsInclusiveOuterBoundary(p.get(),.7,.8,1.2,2); - private static final IStatusFunction<GT_MetaTileEntity_EM_computer> MAX_TEMP_STATUS= - (base,p)->LedStatus.fromLimitsInclusiveOuterBoundary(p.get(),-10000,0,0,5000); - private static final IStatusFunction<GT_MetaTileEntity_EM_computer> COMPUTE_STATUS=(base, p)->{ - if(base.eAvailableData<0){ - return STATUS_TOO_LOW; - } - if(base.eAvailableData==0){ - return STATUS_NEUTRAL; - } - return STATUS_OK; - }; - //endregion - - private final ArrayList<GT_MetaTileEntity_Hatch_Rack> eRacks = new ArrayList<>(); - //region Structure private static final String[][] front = new String[][]{{"A ", "A ", "A. ", "A ",},}; private static final String[][] terminator = new String[][]{{"A ", "A ", "A ", "A ",},}; @@ -85,9 +62,34 @@ public class GT_MetaTileEntity_EM_computer extends GT_MetaTileEntity_MultiblockB private static final Block[] blockTypeFallback = new Block[]{sBlockCasingsTT, sBlockCasingsTT}; private static final byte[] blockMetaFallback = new byte[]{1, 3}; private static final String[] description = new String[]{ - EnumChatFormatting.AQUA+"Hint Details:", - "1 - Classic/Data Hatches or Computer casing", - "2 - Rack Hatches or Advanced computer casing", + EnumChatFormatting.AQUA + StatCollector.translateToLocal("tt.keyphrase.Hint_Details") + ":", + StatCollector.translateToLocal("gt.blockmachines.multimachine.em.computer.hint.0"),//1 - Classic/Data Hatches or Computer casing + StatCollector.translateToLocal("gt.blockmachines.multimachine.em.computer.hint.1"),//2 - Rack Hatches or Advanced computer casing + }; + //endregion + + //region parameters + protected Parameters.Group.ParameterIn overclock, overvolt; + protected Parameters.Group.ParameterOut maxCurrentTemp, availableData; + + private static final INameFunction<GT_MetaTileEntity_EM_computer> OC_NAME = (base, p) -> StatCollector.translateToLocal("gt.blockmachines.multimachine.em.computer.cfgi.0");//Overclock ratio + private static final INameFunction<GT_MetaTileEntity_EM_computer> OV_NAME = (base, p) -> StatCollector.translateToLocal("gt.blockmachines.multimachine.em.computer.cfgi.1");//Overvoltage ratio + private static final INameFunction<GT_MetaTileEntity_EM_computer> MAX_TEMP_NAME = (base, p) -> StatCollector.translateToLocal("gt.blockmachines.multimachine.em.computer.cfgo.0");//Current max. heat + private static final INameFunction<GT_MetaTileEntity_EM_computer> COMPUTE_NAME = (base, p) -> StatCollector.translateToLocal("gt.blockmachines.multimachine.em.computer.cfgo.1");//Produced computation + private static final IStatusFunction<GT_MetaTileEntity_EM_computer> OC_STATUS = + (base, p) -> LedStatus.fromLimitsInclusiveOuterBoundary(p.get(), 0, 1, 1, 3); + private static final IStatusFunction<GT_MetaTileEntity_EM_computer> OV_STATUS = + (base, p) -> LedStatus.fromLimitsInclusiveOuterBoundary(p.get(), .7, .8, 1.2, 2); + private static final IStatusFunction<GT_MetaTileEntity_EM_computer> MAX_TEMP_STATUS = + (base, p) -> LedStatus.fromLimitsInclusiveOuterBoundary(p.get(), -10000, 0, 0, 5000); + private static final IStatusFunction<GT_MetaTileEntity_EM_computer> COMPUTE_STATUS = (base, p) -> { + if (base.eAvailableData < 0) { + return STATUS_TOO_LOW; + } + if (base.eAvailableData == 0) { + return STATUS_NEUTRAL; + } + return STATUS_OK; }; //endregion @@ -105,16 +107,16 @@ public class GT_MetaTileEntity_EM_computer extends GT_MetaTileEntity_MultiblockB @Override protected void parametersInstantiation_EM() { - Parameters.Group hatch_0=parametrization.getGroup(0); - overclock=hatch_0.makeInParameter(0,1,OC_NAME,OC_STATUS); - overvolt=hatch_0.makeInParameter(1,1,OV_NAME,OV_STATUS); - maxCurrentTemp=hatch_0.makeOutParameter(0,0,MAX_TEMP_NAME,MAX_TEMP_STATUS); - availableData=hatch_0.makeOutParameter(1,0,COMPUTE_NAME,COMPUTE_STATUS); + Parameters.Group hatch_0 = parametrization.getGroup(0); + overclock = hatch_0.makeInParameter(0, 1, OC_NAME, OC_STATUS); + overvolt = hatch_0.makeInParameter(1, 1, OV_NAME, OV_STATUS); + maxCurrentTemp = hatch_0.makeOutParameter(0, 0, MAX_TEMP_NAME, MAX_TEMP_STATUS); + availableData = hatch_0.makeOutParameter(1, 0, COMPUTE_NAME, COMPUTE_STATUS); } @Override @SideOnly(Side.CLIENT) - protected ResourceLocation getActivitySound(){ + protected ResourceLocation getActivitySound() { return GT_MetaTileEntity_EM_switch.activitySound; } @@ -141,20 +143,20 @@ public class GT_MetaTileEntity_EM_computer extends GT_MetaTileEntity_MultiblockB @Override public boolean checkRecipe_EM(ItemStack itemStack) { - parametrization.setToDefaults(false,true); + parametrization.setToDefaults(false, true); eAvailableData = 0; - double maxTemp=0; - double overClockRatio= overclock.get(); - double overVoltageRatio= overvolt.get(); - if(Double.isNaN(overClockRatio) || Double.isNaN(overVoltageRatio)) { + double maxTemp = 0; + double overClockRatio = overclock.get(); + double overVoltageRatio = overvolt.get(); + if (Double.isNaN(overClockRatio) || Double.isNaN(overVoltageRatio)) { return false; } - if(overclock.getStatus(true).isOk && overvolt.getStatus(true).isOk){ - float eut=V[8] * (float)overVoltageRatio * (float)overClockRatio; - if(eut<Integer.MAX_VALUE-7) { + if (overclock.getStatus(true).isOk && overvolt.getStatus(true).isOk) { + float eut = V[8] * (float) overVoltageRatio * (float) overClockRatio; + if (eut < Integer.MAX_VALUE - 7) { mEUt = -(int) eut; - } else{ - mEUt = -(int)V[8]; + } else { + mEUt = -(int) V[8]; return false; } short thingsActive = 0; @@ -165,7 +167,7 @@ public class GT_MetaTileEntity_EM_computer extends GT_MetaTileEntity_MultiblockB continue; } if (rack.heat > maxTemp) { - maxTemp=rack.heat; + maxTemp = rack.heat; } rackComputation = rack.tickComponents((float) overClockRatio, (float) overVoltageRatio); if (rackComputation > 0) { @@ -191,8 +193,8 @@ public class GT_MetaTileEntity_EM_computer extends GT_MetaTileEntity_MultiblockB availableData.set(eAvailableData); return true; } else { - eAvailableData=0; - mEUt = -(int)V[8]; + eAvailableData = 0; + mEUt = -(int) V[8]; eAmpereFlow = 1; mMaxProgresstime = 20; mEfficiencyIncrease = 10000; @@ -209,7 +211,7 @@ public class GT_MetaTileEntity_EM_computer extends GT_MetaTileEntity_MultiblockB if (!eOutputData.isEmpty()) { Vec3pos pos = new Vec3pos(getBaseMetaTileEntity()); QuantumDataPacket pack = new QuantumDataPacket(eAvailableData / eOutputData.size()).unifyTraceWith(pos); - if(pack==null){ + if (pack == null) { return; } for (GT_MetaTileEntity_Hatch_InputData hatch : eInputData) { @@ -243,7 +245,7 @@ public class GT_MetaTileEntity_EM_computer extends GT_MetaTileEntity_MultiblockB } } - @Override + @Override//Had a crash bug with breaking a rack and then the multi public void onRemoval() { super.onRemoval(); for (GT_MetaTileEntity_Hatch_Rack rack : eRacks) { @@ -256,7 +258,7 @@ public class GT_MetaTileEntity_EM_computer extends GT_MetaTileEntity_MultiblockB @Override public void stopMachine() { super.stopMachine(); - eAvailableData=0; + eAvailableData = 0; for (GT_MetaTileEntity_Hatch_Rack rack : eRacks) { if (GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity(rack)) { rack.getBaseMetaTileEntity().setActive(false); @@ -306,17 +308,17 @@ public class GT_MetaTileEntity_EM_computer extends GT_MetaTileEntity_MultiblockB @Override public void construct(int stackSize, boolean hintsOnly) { - IGregTechTileEntity igt=getBaseMetaTileEntity(); - StructureBuilderExtreme(front, blockType, blockMeta, 1, 2, 0, igt,this,hintsOnly); - StructureBuilderExtreme(cap, blockType, blockMeta, 1, 2, -1, igt,this,hintsOnly); + IGregTechTileEntity igt = getBaseMetaTileEntity(); + StructureBuilderExtreme(front, blockType, blockMeta, 1, 2, 0, igt, this, hintsOnly); + StructureBuilderExtreme(cap, blockType, blockMeta, 1, 2, -1, igt, this, hintsOnly); - byte offset=-2; - for (int rackSlices = stackSize >12?12: stackSize; rackSlices>0 ; rackSlices--) { - StructureBuilderExtreme(slice, blockType, blockMeta, 1, 2, offset--, igt,this,hintsOnly); + byte offset = -2; + for (int rackSlices = stackSize > 12 ? 12 : stackSize; rackSlices > 0; rackSlices--) { + StructureBuilderExtreme(slice, blockType, blockMeta, 1, 2, offset--, igt, this, hintsOnly); } - StructureBuilderExtreme(cap, blockType, blockMeta, 1, 2, offset--, igt,this,hintsOnly); - StructureBuilderExtreme(terminator, blockType, blockMeta, 1, 2, offset,igt,this,hintsOnly); + StructureBuilderExtreme(cap, blockType, blockMeta, 1, 2, offset--, igt, this, hintsOnly); + StructureBuilderExtreme(terminator, blockType, blockMeta, 1, 2, offset, igt, this, hintsOnly); } @Override @@ -336,7 +338,7 @@ public class GT_MetaTileEntity_EM_computer extends GT_MetaTileEntity_MultiblockB return new String[]{ CommonValues.TEC_MARK_EM, Util.intBitsToString(TecTech.RANDOM.nextInt()), - EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + "You need it to process the number above" + EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + StatCollector.translateToLocal("gt.blockmachines.multimachine.em.computer.desc")//You need it to process the number above }; } @@ -355,4 +357,4 @@ public class GT_MetaTileEntity_EM_computer extends GT_MetaTileEntity_MultiblockB } return false; } -} +}
\ No newline at end of file diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_switch.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_switch.java index 1c5d1bccdd..be244e6820 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_switch.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_switch.java @@ -23,6 +23,7 @@ import net.minecraft.block.Block; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.ResourceLocation; +import net.minecraft.util.StatCollector; import static com.github.technus.tectech.CommonValues.V; import static com.github.technus.tectech.Util.StructureBuilderExtreme; @@ -34,40 +35,40 @@ import static com.github.technus.tectech.thing.metaTileEntity.multi.base.LedStat /** * Created by danie_000 on 17.12.2016. */ -public class GT_MetaTileEntity_EM_switch extends GT_MetaTileEntity_MultiblockBase_EM implements IConstructable{ +public class GT_MetaTileEntity_EM_switch extends GT_MetaTileEntity_MultiblockBase_EM implements IConstructable { //region Structure private static final String[][] shape = new String[][]{ - {" "," . "," ",}, - {" "," 0 "," ",}, - {" "," "," ",}, + {" ", " . ", " ",}, + {" ", " 0 ", " ",}, + {" ", " ", " ",}, }; private static final Block[] blockType = new Block[]{sBlockCasingsTT}; private static final byte[] blockMeta = new byte[]{3}; private final IHatchAdder[] addingMethods = new IHatchAdder[]{this::addClassicToMachineList}; - private static final short[] casingTextures = new short[]{textureOffset+1}; + private static final short[] casingTextures = new short[]{textureOffset + 1}; private static final Block[] blockTypeFallback = new Block[]{sBlockCasingsTT}; private static final byte[] blockMetaFallback = new byte[]{1}; private static final String[] description = new String[]{ - EnumChatFormatting.AQUA+"Hint Details:", - "1 - Classic/Data Hatches or Computer casing", + EnumChatFormatting.AQUA + StatCollector.translateToLocal("tt.keyphrase.Hint_Details") + ":", + "1 - Classic/Data Hatches or Computer casing",//1 - Classic/Data Hatches or Computer casing }; //endregion //region parameters - private static final INameFunction<GT_MetaTileEntity_EM_switch> ROUTE_NAME= - (base,p)->(p.parameterId()==0?"Destination ":"Weight ")+p.hatchId(); + private static final INameFunction<GT_MetaTileEntity_EM_switch> ROUTE_NAME = + (base, p) -> (p.parameterId() == 0 ? StatCollector.translateToLocal("tt.keyword.Destination") + " " : StatCollector.translateToLocal("tt.keyword.Weight") + " ") + p.hatchId(); private static final IStatusFunction<GT_MetaTileEntity_EM_switch> WEI_STATUS = - (base,p)-> { - double v=p.get(); + (base, p) -> { + double v = p.get(); if (Double.isNaN(v)) return STATUS_WRONG; - if(v<0) return STATUS_TOO_LOW; - if(v==0) return STATUS_LOW; - if(Double.isInfinite(v)) return STATUS_HIGH; + if (v < 0) return STATUS_TOO_LOW; + if (v == 0) return STATUS_LOW; + if (Double.isInfinite(v)) return STATUS_HIGH; return STATUS_OK; }; private static final IStatusFunction<GT_MetaTileEntity_EM_switch> DST_STATUS = - (base,p)->{ - if(base.weight[p.hatchId()].getStatus(false).isOk) { + (base, p) -> { + if (base.weight[p.hatchId()].getStatus(false).isOk) { double v = p.get(); if (Double.isNaN(v)) return STATUS_WRONG; v = (int) v; @@ -91,20 +92,20 @@ public class GT_MetaTileEntity_EM_switch extends GT_MetaTileEntity_MultiblockBas @Override protected void parametersInstantiation_EM() { - dst=new Parameters.Group.ParameterIn[10]; - weight =new Parameters.Group.ParameterIn[10]; + dst = new Parameters.Group.ParameterIn[10]; + weight = new Parameters.Group.ParameterIn[10]; for (int i = 0; i < 10; i++) { Parameters.Group hatch = parametrization.getGroup(i); dst[i] = hatch.makeInParameter(0, i, ROUTE_NAME, DST_STATUS); - weight[i] = hatch.makeInParameter(1,0, ROUTE_NAME, WEI_STATUS); + weight[i] = hatch.makeInParameter(1, 0, ROUTE_NAME, WEI_STATUS); } } - public final static ResourceLocation activitySound=new ResourceLocation(Reference.MODID+":fx_hi_freq"); + public final static ResourceLocation activitySound = new ResourceLocation(Reference.MODID + ":fx_hi_freq"); @Override @SideOnly(Side.CLIENT) - protected ResourceLocation getActivitySound(){ + protected ResourceLocation getActivitySound() { return activitySound; } @@ -128,7 +129,7 @@ public class GT_MetaTileEntity_EM_switch extends GT_MetaTileEntity_MultiblockBas @Override public void construct(int stackSize, boolean hintsOnly) { - StructureBuilderExtreme(shape, blockType, blockMeta,1, 1, 0, getBaseMetaTileEntity(),this,hintsOnly); + StructureBuilderExtreme(shape, blockType, blockMeta, 1, 1, 0, getBaseMetaTileEntity(), this, hintsOnly); } @Override @@ -162,7 +163,7 @@ public class GT_MetaTileEntity_EM_switch extends GT_MetaTileEntity_MultiblockBas double total = 0; double weight; for (int i = 0; i < 10; i++) {//each param pair - weight= this.weight[i].get(); + weight = this.weight[i].get(); if (weight > 0 && dst[i].get() >= 0) { total += weight;//Total weighted div } @@ -170,7 +171,7 @@ public class GT_MetaTileEntity_EM_switch extends GT_MetaTileEntity_MultiblockBas Vec3pos pos = new Vec3pos(getBaseMetaTileEntity()); QuantumDataPacket pack = new QuantumDataPacket(0L).unifyTraceWith(pos); - if(pack==null) { + if (pack == null) { return; } for (GT_MetaTileEntity_Hatch_InputData hatch : eInputData) { @@ -187,27 +188,27 @@ public class GT_MetaTileEntity_EM_switch extends GT_MetaTileEntity_MultiblockBas double dest; for (int i = 0; i < 10; i++) { - dest= dst[i].get(); - weight= this.weight[i].get(); + dest = dst[i].get(); + weight = this.weight[i].get(); if (weight > 0 && dest >= 0) { - int outIndex = (int)dest - 1; + int outIndex = (int) dest - 1; if (outIndex < 0 || outIndex >= eOutputData.size()) { continue; } GT_MetaTileEntity_Hatch_OutputData out = eOutputData.get(outIndex); - if(Double.isInfinite(total)){ - if(Double.isInfinite(weight)){ + if (Double.isInfinite(total)) { + if (Double.isInfinite(weight)) { out.q = new QuantumDataPacket(remaining).unifyTraceWith(pack); break; } - }else{ + } else { long part = (long) Math.floor(pack.getContent() * weight / total); if (part > 0) { remaining -= part; if (remaining > 0) { out.q = new QuantumDataPacket(part).unifyTraceWith(pack); } else if (part + remaining > 0) { - out.q = new QuantumDataPacket( part + remaining).unifyTraceWith(pack); + out.q = new QuantumDataPacket(part + remaining).unifyTraceWith(pack); break; } else { break; @@ -223,8 +224,8 @@ public class GT_MetaTileEntity_EM_switch extends GT_MetaTileEntity_MultiblockBas public String[] getDescription() { return new String[]{ CommonValues.TEC_MARK_EM, - "User controlled computation power routing", - EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + "Quality of service is a must" + StatCollector.translateToLocal("gt.blockmachines.multimachine.em.switch.desc.0"),//User controlled computation power routing + EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + StatCollector.translateToLocal("gt.blockmachines.multimachine.em.switch.desc.1")//Quality of service is a must }; } -} +}
\ No newline at end of file diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_transformer.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_transformer.java index e384a8d7e2..76ee59977c 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_transformer.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_transformer.java @@ -19,6 +19,7 @@ import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.ResourceLocation; +import net.minecraft.util.StatCollector; import static com.github.technus.tectech.Util.StructureBuilderExtreme; import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.textureOffset; @@ -29,12 +30,12 @@ import static gregtech.api.GregTech_API.sBlockCasings1; /** * Created by danie_000 on 17.12.2016. */ -public class GT_MetaTileEntity_EM_transformer extends GT_MetaTileEntity_MultiblockBase_EM implements IConstructable{ +public class GT_MetaTileEntity_EM_transformer extends GT_MetaTileEntity_MultiblockBase_EM implements IConstructable { //region Structure private static final String[][] shape = new String[][]{ - {" "," . "," ",}, - {" "," 0 "," ",}, - {" "," "," ",}, + {" ", " . ", " ",}, + {" ", " 0 ", " ",}, + {" ", " ", " ",}, }; private static final Block[] blockType = new Block[]{sBlockCasings1}; private static final byte[] blockMeta = new byte[]{15}; @@ -43,8 +44,8 @@ public class GT_MetaTileEntity_EM_transformer extends GT_MetaTileEntity_Multiblo private static final Block[] blockTypeFallback = new Block[]{sBlockCasingsTT}; private static final byte[] blockMetaFallback = new byte[]{0}; private static final String[] description = new String[]{ - EnumChatFormatting.AQUA+"Hint Details:", - "1 - Energy IO Hatches or High Power Casing", + EnumChatFormatting.AQUA + StatCollector.translateToLocal("tt.keyphrase.Hint_Details") + ":", + StatCollector.translateToLocal("gt.blockmachines.multimachine.em.transformer.hint"),//1 - Energy IO Hatches or High Power Casing }; //endregion @@ -56,7 +57,7 @@ public class GT_MetaTileEntity_EM_transformer extends GT_MetaTileEntity_Multiblo mHardHammer = true; mSolderingTool = true; mCrowbar = true; - eDismantleBoom=true; + eDismantleBoom = true; } public GT_MetaTileEntity_EM_transformer(String aName) { @@ -67,14 +68,14 @@ public class GT_MetaTileEntity_EM_transformer extends GT_MetaTileEntity_Multiblo mHardHammer = true; mSolderingTool = true; mCrowbar = true; - eDismantleBoom=true; + eDismantleBoom = true; } - public final static ResourceLocation activitySound=new ResourceLocation(Reference.MODID+":fx_noise"); + public final static ResourceLocation activitySound = new ResourceLocation(Reference.MODID + ":fx_noise"); @Override @SideOnly(Side.CLIENT) - protected ResourceLocation getActivitySound(){ + protected ResourceLocation getActivitySound() { return activitySound; } @@ -90,17 +91,17 @@ public class GT_MetaTileEntity_EM_transformer extends GT_MetaTileEntity_Multiblo @Override public void construct(int stackSize, boolean hintsOnly) { - StructureBuilderExtreme(shape, blockType, blockMeta,1, 1, 0, getBaseMetaTileEntity(),this,hintsOnly); + StructureBuilderExtreme(shape, blockType, blockMeta, 1, 1, 0, getBaseMetaTileEntity(), this, hintsOnly); } @Override public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - return new GT_Container_MultiMachineEM(aPlayerInventory, aBaseMetaTileEntity,true,false,false); + return new GT_Container_MultiMachineEM(aPlayerInventory, aBaseMetaTileEntity, true, false, false); } @Override public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - return new GT_GUIContainer_MultiMachineEM(aPlayerInventory, aBaseMetaTileEntity, getLocalName(), "EMDisplay.png",true,false,false); + return new GT_GUIContainer_MultiMachineEM(aPlayerInventory, aBaseMetaTileEntity, getLocalName(), "EMDisplay.png", true, false, false); } @Override @@ -120,9 +121,9 @@ public class GT_MetaTileEntity_EM_transformer extends GT_MetaTileEntity_Multiblo public String[] getDescription() { return new String[]{ CommonValues.TEC_MARK_GENERAL, - "Power substation", - EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + "All the transformation!", - EnumChatFormatting.BLUE + "Only 0.78125% power loss, HAYO!", + StatCollector.translateToLocal("gt.blockmachines.multimachine.em.transformer.desc.0"),//Power substation + EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + StatCollector.translateToLocal("gt.blockmachines.multimachine.em.transformer.desc.1"),//All the transformation! + EnumChatFormatting.BLUE + StatCollector.translateToLocal("gt.blockmachines.multimachine.em.transformer.desc.2"),//Only 0.78125% power loss, HAYO! }; } @@ -156,4 +157,4 @@ public class GT_MetaTileEntity_EM_transformer extends GT_MetaTileEntity_Multiblo public boolean doRandomMaintenanceDamage() { return true; } -} +}
\ No newline at end of file diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_TM_microwave.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_TM_microwave.java index f609025398..f0feb4a635 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_TM_microwave.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_TM_microwave.java @@ -19,6 +19,7 @@ import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.item.ItemStack; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.StatCollector; import java.util.ArrayList; import java.util.HashSet; @@ -33,7 +34,7 @@ import static gregtech.api.GregTech_API.sBlockCasings4; * Created by danie_000 on 17.12.2016. */ public class GT_MetaTileEntity_TM_microwave extends GT_MetaTileEntity_MultiblockBase_EM implements IConstructable { - private boolean hasBeenPausedThisCycle=false; + private boolean hasBeenPausedThisCycle = false; //region Structure //use multi A energy inputs, use less power the longer it runs @@ -52,27 +53,28 @@ public class GT_MetaTileEntity_TM_microwave extends GT_MetaTileEntity_Multiblock private static final Block[] blockTypeFallback = new Block[]{sBlockCasings4}; private static final byte[] blockMetaFallback = new byte[]{1}; private static final String[] description = new String[]{ - EnumChatFormatting.AQUA+"Hint Details:", - "1 - Classic Hatches or Clean Stainless Steel Casing", - "Also acts like a hopper so give it an Output Bus", + EnumChatFormatting.AQUA + StatCollector.translateToLocal("tt.keyphrase.Hint_Details") + ":", + StatCollector.translateToLocal("gt.blockmachines.multimachine.tm.microwave.hint.0"),//1 - Classic Hatches or Clean Stainless Steel Casing + StatCollector.translateToLocal("gt.blockmachines.multimachine.tm.microwave.hint.1"),//Also acts like a hopper so give it an Output Bus }; //endregion //region parameters - protected Parameters.Group.ParameterIn powerSetting,timerSetting; - protected Parameters.Group.ParameterOut timerValue,remainingTime; - private static final INameFunction<GT_MetaTileEntity_TM_microwave> POWER_NAME = (base, p)-> "Power setting"; - private static final INameFunction<GT_MetaTileEntity_TM_microwave> TIMER_SETTING_NAME = (base, p)-> "Timer setting"; - private static final INameFunction<GT_MetaTileEntity_TM_microwave> TIMER_REMAINING_NAME = (base, p)-> "Timer remaining"; - private static final INameFunction<GT_MetaTileEntity_TM_microwave> TIMER_VALUE_NAME = (base, p)-> "Timer value"; - private static final IStatusFunction<GT_MetaTileEntity_TM_microwave> POWER_STATUS= - (base,p)-> LedStatus.fromLimitsInclusiveOuterBoundary(p.get(),300,1000,1000,Double.POSITIVE_INFINITY); - private static final IStatusFunction<GT_MetaTileEntity_TM_microwave> TIMER_STATUS=(base, p)->{ - double value=p.get(); - if(Double.isNaN(value)) return STATUS_WRONG; - value=(int)value; - if(value<=0) return STATUS_TOO_LOW; - if(value>3000) return STATUS_TOO_HIGH; + protected Parameters.Group.ParameterIn powerSetting, timerSetting; + protected Parameters.Group.ParameterOut timerValue, remainingTime; + private static final INameFunction<GT_MetaTileEntity_TM_microwave> POWER_SETTING_NAME = (base, p) -> StatCollector.translateToLocal("gt.blockmachines.multimachine.tm.microwave.cfgi.0");//Power setting + private static final INameFunction<GT_MetaTileEntity_TM_microwave> TIMER_SETTING_NAME = (base, p) -> StatCollector.translateToLocal("gt.blockmachines.multimachine.tm.microwave.cfgi.1");//Timer setting + + private static final INameFunction<GT_MetaTileEntity_TM_microwave> TIMER_VALUE_NAME = (base, p) -> StatCollector.translateToLocal("gt.blockmachines.multimachine.tm.microwave.cfgo.0");//Timer value + private static final INameFunction<GT_MetaTileEntity_TM_microwave> TIMER_REMAINING_NAME = (base, p) -> StatCollector.translateToLocal("gt.blockmachines.multimachine.tm.microwave.cfgo.1");//Timer remaining + private static final IStatusFunction<GT_MetaTileEntity_TM_microwave> POWER_STATUS = + (base, p) -> LedStatus.fromLimitsInclusiveOuterBoundary(p.get(), 300, 1000, 1000, Double.POSITIVE_INFINITY); + private static final IStatusFunction<GT_MetaTileEntity_TM_microwave> TIMER_STATUS = (base, p) -> { + double value = p.get(); + if (Double.isNaN(value)) return STATUS_WRONG; + value = (int) value; + if (value <= 0) return STATUS_TOO_LOW; + if (value > 3000) return STATUS_TOO_HIGH; return STATUS_OK; }; //endregion @@ -87,11 +89,12 @@ public class GT_MetaTileEntity_TM_microwave extends GT_MetaTileEntity_Multiblock @Override protected void parametersInstantiation_EM() { - Parameters.Group hatch_0=parametrization.getGroup(0, true); - powerSetting=hatch_0.makeInParameter(0,1000, POWER_NAME,POWER_STATUS); - timerSetting=hatch_0.makeInParameter(1,360, TIMER_SETTING_NAME,TIMER_STATUS); - timerValue=hatch_0.makeOutParameter(0,0,TIMER_VALUE_NAME,TIMER_STATUS); - remainingTime=hatch_0.makeOutParameter(1,360,TIMER_REMAINING_NAME,TIMER_STATUS); + Parameters.Group hatch_0 = parametrization.getGroup(0, true); + powerSetting = hatch_0.makeInParameter(0, 1000, POWER_SETTING_NAME, POWER_STATUS); + timerSetting = hatch_0.makeInParameter(1, 360, TIMER_SETTING_NAME, TIMER_STATUS); + + timerValue = hatch_0.makeOutParameter(0, 0, TIMER_VALUE_NAME, TIMER_STATUS); + remainingTime = hatch_0.makeOutParameter(1, 360, TIMER_REMAINING_NAME, TIMER_STATUS); } @Override @@ -103,7 +106,7 @@ public class GT_MetaTileEntity_TM_microwave extends GT_MetaTileEntity_Multiblock public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) { if (aSide == aFacing) { return new ITexture[]{Textures.BlockIcons.CASING_BLOCKS[49], new TT_RenderedTexture(aActive ? Textures.BlockIcons.OVERLAY_FRONT_ELECTRIC_BLAST_FURNACE_ACTIVE : Textures.BlockIcons.OVERLAY_FRONT_ELECTRIC_BLAST_FURNACE)}; - }else if(aSide == GT_Utility.getOppositeSide(aFacing)) { + } else if (aSide == GT_Utility.getOppositeSide(aFacing)) { return new ITexture[]{Textures.BlockIcons.CASING_BLOCKS[49], aActive ? Textures.BlockIcons.CASING_BLOCKS[52] : Textures.BlockIcons.CASING_BLOCKS[53]}; } return new ITexture[]{Textures.BlockIcons.CASING_BLOCKS[49]}; @@ -126,7 +129,7 @@ public class GT_MetaTileEntity_TM_microwave extends GT_MetaTileEntity_Multiblock @Override public void construct(int stackSize, boolean hintsOnly) { - StructureBuilderExtreme(shape, blockType, blockMeta, 2, 2, 0, getBaseMetaTileEntity(),this, hintsOnly); + StructureBuilderExtreme(shape, blockType, blockMeta, 2, 2, 0, getBaseMetaTileEntity(), this, hintsOnly); } @Override @@ -138,23 +141,23 @@ public class GT_MetaTileEntity_TM_microwave extends GT_MetaTileEntity_Multiblock public String[] getDescription() { return new String[]{ CommonValues.BASS_MARK, - "High Frequency Oven", - EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + "From live to done in seconds!", - EnumChatFormatting.BLUE + "I said nuke the... I meant microwave supper!", + StatCollector.translateToLocal("gt.blockmachines.multimachine.tm.microwave.desc.0"),//High Frequency Oven + EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + StatCollector.translateToLocal("gt.blockmachines.multimachine.tm.microwave.desc.1"),//From live to done in seconds! + EnumChatFormatting.BLUE + StatCollector.translateToLocal("gt.blockmachines.multimachine.tm.microwave.desc.2"),//I said nuke the... I meant microwave supper! }; } @Override public boolean checkRecipe_EM(ItemStack itemStack) { - hasBeenPausedThisCycle =false; - if((int)powerSetting.get()<300 || timerSetting.get()<=0 || timerSetting.get()>3000) { + hasBeenPausedThisCycle = false; + if ((int) powerSetting.get() < 300 || timerSetting.get() <= 0 || timerSetting.get() > 3000) { return false; } if (remainingTime.get() <= 0) { remainingTime.set(timerSetting.get()); timerValue.set(0); } - mEUt = -((int)powerSetting.get() >> 1); + mEUt = -((int) powerSetting.get() >> 1); eAmpereFlow = 1; mMaxProgresstime = 20; mEfficiencyIncrease = 10000; @@ -163,37 +166,37 @@ public class GT_MetaTileEntity_TM_microwave extends GT_MetaTileEntity_Multiblock @Override public void outputAfterRecipe_EM() { - if(hasBeenPausedThisCycle) { + if (hasBeenPausedThisCycle) { return;//skip timer and actions if paused } - timerValue.set(timerValue.get()+1); - remainingTime.set(timerSetting.get()-timerValue.get()); - IGregTechTileEntity mte=getBaseMetaTileEntity(); - int[] xyzOffsets= getTranslatedOffsets(0,-1,2); - double xPos=mte.getXCoord()+0.5f+xyzOffsets[0]; - double yPos=mte.getYCoord()+0.5f+xyzOffsets[1]; - double zPos=mte.getZCoord()+0.5f+xyzOffsets[2]; - AxisAlignedBB aabb=getBoundingBox(-2,-2,-2,2,2,2).offset(xPos,yPos,zPos); - xyzOffsets= getTranslatedOffsets(0,-4,0); - double[] xyzExpansion= getTranslatedOffsets(1.5,0,1.5); - for(int i=0;i<3;i++){//gets ABS from translated to get expansion values - if(xyzExpansion[i]<0)xyzExpansion[i]=-xyzExpansion[i]; + timerValue.set(timerValue.get() + 1); + remainingTime.set(timerSetting.get() - timerValue.get()); + IGregTechTileEntity mte = getBaseMetaTileEntity(); + int[] xyzOffsets = getTranslatedOffsets(0, -1, 2); + double xPos = mte.getXCoord() + 0.5f + xyzOffsets[0]; + double yPos = mte.getYCoord() + 0.5f + xyzOffsets[1]; + double zPos = mte.getZCoord() + 0.5f + xyzOffsets[2]; + AxisAlignedBB aabb = getBoundingBox(-2, -2, -2, 2, 2, 2).offset(xPos, yPos, zPos); + xyzOffsets = getTranslatedOffsets(0, -4, 0); + double[] xyzExpansion = getTranslatedOffsets(1.5, 0, 1.5); + for (int i = 0; i < 3; i++) {//gets ABS from translated to get expansion values + if (xyzExpansion[i] < 0) xyzExpansion[i] = -xyzExpansion[i]; } - int power=(int)powerSetting.get(); + int power = (int) powerSetting.get(); int damagingFactor = - Math.min(power >> 6,8)+ - Math.min(power >> 8,24)+ - Math.min(power >> 12,48)+ + Math.min(power >> 6, 8) + + Math.min(power >> 8, 24) + + Math.min(power >> 12, 48) + (power >> 18); - ArrayList<ItemStack> itemsToOutput=new ArrayList<>(); - HashSet<Entity> tickedStuff=new HashSet<>(); + ArrayList<ItemStack> itemsToOutput = new ArrayList<>(); + HashSet<Entity> tickedStuff = new HashSet<>(); - boolean inside=true; + boolean inside = true; do { for (Object entity : mte.getWorld().getEntitiesWithinAABBExcludingEntity(null, aabb)) { if (entity instanceof Entity) { - if(tickedStuff.add((Entity)entity)) { + if (tickedStuff.add((Entity) entity)) { if (inside && entity instanceof EntityItem) { GT_Recipe tRecipe = GT_Recipe.GT_Recipe_Map.sMicrowaveRecipes.findRecipe( mte, null, true, 128, null, null, new ItemStack[]{((EntityItem) entity).getEntityItem()}); @@ -204,33 +207,33 @@ public class GT_MetaTileEntity_TM_microwave extends GT_MetaTileEntity_Multiblock newStuff.stackSize = ((EntityItem) entity).getEntityItem().stackSize; itemsToOutput.add(newStuff); } - ((EntityItem) entity).delayBeforeCanPickup=2; + ((EntityItem) entity).delayBeforeCanPickup = 2; ((EntityItem) entity).setDead(); } else if (entity instanceof EntityLivingBase) { - if(!GT_Utility.isWearingFullElectroHazmat((EntityLivingBase) entity)) { + if (!GT_Utility.isWearingFullElectroHazmat((EntityLivingBase) entity)) { ((EntityLivingBase) entity).attackEntityFrom(microwaving, damagingFactor); } } } } } - aabb.offset(xyzOffsets[0],xyzOffsets[1],xyzOffsets[2]); - aabb=aabb.expand(xyzExpansion[0],xyzExpansion[1],xyzExpansion[2]); - inside=false; - damagingFactor>>=1; - } while(damagingFactor>0); + aabb.offset(xyzOffsets[0], xyzOffsets[1], xyzOffsets[2]); + aabb = aabb.expand(xyzExpansion[0], xyzExpansion[1], xyzExpansion[2]); + inside = false; + damagingFactor >>= 1; + } while (damagingFactor > 0); - mOutputItems= itemsToOutput.toArray(nullItem); + mOutputItems = itemsToOutput.toArray(nullItem); - if(remainingTime.get() <=0) { - mte.getWorld().playSoundEffect(xPos,yPos,zPos, Reference.MODID+":microwave_ding", 1, 1); + if (remainingTime.get() <= 0) { + mte.getWorld().playSoundEffect(xPos, yPos, zPos, Reference.MODID + ":microwave_ding", 1, 1); stopMachine(); } } @Override public boolean onRunningTick(ItemStack aStack) { - if(eSafeVoid) { + if (eSafeVoid) { hasBeenPausedThisCycle = true; } return hasBeenPausedThisCycle || super.onRunningTick(aStack);//consume eu and other resources if not paused @@ -247,4 +250,4 @@ public class GT_MetaTileEntity_TM_microwave extends GT_MetaTileEntity_Multiblock public byte getTileEntityBaseType() { return 1; } -} +}
\ No newline at end of file diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_TM_teslaCoil.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_TM_teslaCoil.java index bbef798982..40ea3084c8 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_TM_teslaCoil.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_TM_teslaCoil.java @@ -1,12 +1,20 @@ package com.github.technus.tectech.thing.metaTileEntity.multi; import com.github.technus.tectech.CommonValues; +import com.github.technus.tectech.TecTech; +import com.github.technus.tectech.Util; +import com.github.technus.tectech.loader.NetworkDispatcher; +import com.github.technus.tectech.mechanics.data.RendererMessage; +import com.github.technus.tectech.thing.cover.GT_Cover_TM_TeslaCoil; +import com.github.technus.tectech.thing.cover.GT_Cover_TM_TeslaCoil_Ultimate; import com.github.technus.tectech.thing.metaTileEntity.IConstructable; import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_Capacitor; import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_DynamoMulti; import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_EnergyMulti; -import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM; -import com.github.technus.tectech.thing.metaTileEntity.multi.base.IHatchAdder; +import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_Param; +import com.github.technus.tectech.thing.metaTileEntity.multi.base.*; +import com.github.technus.tectech.thing.metaTileEntity.multi.base.render.TT_RenderedTexture; +import com.github.technus.tectech.thing.metaTileEntity.single.GT_MetaTileEntity_TeslaCoil; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import gregtech.api.enums.Textures; @@ -14,38 +22,61 @@ import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.metatileentity.implementations.*; -import gregtech.api.objects.GT_RenderedTexture; import net.minecraft.block.Block; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.StatCollector; import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; import static com.github.technus.tectech.CommonValues.V; -import static com.github.technus.tectech.Util.StructureBuilder; +import static com.github.technus.tectech.Util.*; import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; -import static gregtech.api.GregTech_API.*; +import static com.github.technus.tectech.thing.casing.TT_Container_Casings.sBlockCasingsBA0; +import static com.github.technus.tectech.thing.metaTileEntity.multi.base.LedStatus.*; import static gregtech.api.enums.GT_Values.E; -/** - * Created by danie_000 on 17.12.2016. - * edited by Bass on like 2018-02-05 - */ -public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_MultiblockBase_EM implements IConstructable {//TODO Add capacitors +public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_MultiblockBase_EM implements IConstructable { + private final static HashSet<Util.thaumSpark> sparkList = new HashSet<Util.thaumSpark>(); + private static Textures.BlockIcons.CustomIcon ScreenOFF; private static Textures.BlockIcons.CustomIcon ScreenON; - private final ArrayList<GT_MetaTileEntity_Hatch_Capacitor> eCaps = new ArrayList<>(); - private int tier = 0; - private int orientation = 0; - private int scanTime = 0; - private int scanRadius = 64;//TODO Generate depending on power stored - private long euTOutMax = V[9] / 8;//TODO Generate depending on count and kind of capacitors - private ArrayList<GT_MetaTileEntity_TM_teslaCoil> eTeslaList = new ArrayList<>(); + private int mTier = 0; //Determines max voltage and efficiency (MV to LuV) + private int maxTier = 6; //Max tier for efficiency calcuation + + private float energyEfficiency = 1; + private float overdriveEfficiency = 1; + private float minEfficiency = TecTech.configTecTech.TESLA_MULTI_MIN_EFFICIENCY;//Default is 0.955F + private float maxEfficiency = TecTech.configTecTech.TESLA_MULTI_MAX_EFFICIENCY;//Default is 0.98F; + private float overdriveEfficiencyExtra = TecTech.configTecTech.TESLA_MULTI_OVERDRIVE_LOSS;//Default is 0.005F + + private Map<IGregTechTileEntity, Integer> eTeslaMap = new HashMap<>(); //Used to store targets for power transmission + private final ArrayList<GT_MetaTileEntity_Hatch_Capacitor> eCapacitorHatches = new ArrayList<>(); //Used to determine count and tier of capacitors present + + private int scanTime = 0; //Scan timer used for tesla search intervals + + private long energyCapacity = 0; //Total energy storage limited by capacitors + private long outputVoltageMax = 0; //Tesla voltage output limited by capacitors + private int vTier = -1; //Tesla voltage tier limited by capacitors + private long outputCurrentMax = 0; //Tesla current output limited by capacitors + + //Prevents unnecessary offset calculation + private byte oldRotation = -1; + private byte oldOrientation = -1; + + //Coordinate Arrays + private int[][] scanPosOffsets = new int[10][3]; + private int[] posZap = new int[3];//Power Transfer Origin + public int[] posTop = new int[3];//Lightning Origin //region structure - private static final String[][] shape0 = new String[][]{//3 16 0 + private static final String[][] shape = new String[][]{//3 16 0 {"\u000F", "A . ",}, {E, "B000", "B000", "B000", "\u0001", "B000", E, "B000", E, "B000", E, "B000", "\u0001", "B111", " 22222 ",}, {"B000", "A00000", "A00000", "A00000", "B000", E, "A0A!A0", E, "A0A!A0", E, "A0A!A0", E, "A0A!A0", "\u0001", "A1C1", " 21112 ",}, @@ -54,48 +85,141 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock {E, "B000", "B000", "B000", "\u0001", "B000", E, "B000", E, "B000", E, "B000", "\u0001", "B111", " 22222 ",}, {"\u000F", "A ",}, }; - private static final String[][] shape1 = new String[][]{//3 0 0 - {"A . ",}, - {" 22222 ","A11111","\u0001","B000",E,"B000",E,"B000",E,"B000","\u0001","B000","B000","B000",}, - {" 21112 ","A1C1","\u0001","A0A!A0",E,"A0A!A0",E,"A0A!A0",E,"A0A!A0",E,"B000","A00000","A00000","A00000","B000",}, - {" 21212 ","A1A3A1","C3","C3","A0!3!0","C3","A0!3!0","C3","A0!3!0","C3","A0!3!0","C3","B030","A00000","A00000","A00000","B000",}, - {" 21112 ","A1C1","\u0001","A0A!A0",E,"A0A!A0",E,"A0A!A0",E,"A0A!A0",E,"B000","A00000","A00000","A00000","B000",}, - {" 22222 ","A11111","\u0001","B000",E,"B000",E,"B000",E,"B000","\u0001","B000","B000","B000",}, - {"A ",}, + private static final Block[] blockType = new Block[]{sBlockCasingsBA0, sBlockCasingsBA0, sBlockCasingsBA0, sBlockCasingsBA0}; + private static final byte[] blockMetaT0 = new byte[]{7, 0, 6, 8}; + private static final byte[] blockMetaT1 = new byte[]{7, 1, 6, 8}; + private static final byte[] blockMetaT2 = new byte[]{7, 2, 6, 8}; + private static final byte[] blockMetaT3 = new byte[]{7, 3, 6, 8}; + private static final byte[] blockMetaT4 = new byte[]{7, 4, 6, 8}; + private static final byte[] blockMetaT5 = new byte[]{7, 5, 6, 8}; + private static final byte[][] blockMetas = new byte[][]{blockMetaT0, blockMetaT1, blockMetaT2, blockMetaT3, blockMetaT4, blockMetaT5}; + private final IHatchAdder[] addingMethods = new IHatchAdder[]{this::addCapacitorToMachineList, this::addFrameToMachineList}; + private static final short[] casingTextures = new short[]{(texturePage << 7) + 16 + 6, 0}; + private static final Block[] blockTypeFallback = new Block[]{sBlockCasingsBA0, null}; + private static final byte[] blockMetaFallback = new byte[]{6, 0}; + private static final String[] description = new String[]{ + EnumChatFormatting.AQUA + StatCollector.translateToLocal("tt.keyphrase.Hint_Details") + ":", + StatCollector.translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.hint.0"),//1 - Classic Hatches, Capacitor Hatches or Tesla Base Casing + StatCollector.translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.hint.1"),//2 - Titanium Frames + }; + //endregion + + //region parameters + protected Parameters.Group.ParameterIn popogaSetting, histLowSetting, histHighSetting, transferRadiusTowerSetting, transferRadiusTransceiverSetting, transferRadiusCoverUltimateSetting, outputVoltageSetting, outputCurrentSetting, scanTimeMinSetting, overDriveSetting; + protected Parameters.Group.ParameterOut popogaDisplay, transferRadiusTowerDisplay, transferRadiusTransceiverDisplay, transferRadiusCoverUltimateDisplay, outputVoltageDisplay, outputCurrentDisplay, energyCapacityDisplay, energyStoredDisplay, energyFractionDisplay, scanTimeDisplay; + + private static final INameFunction<GT_MetaTileEntity_TM_teslaCoil> HYSTERESIS_LOW_SETTING_NAME = (base, p) -> StatCollector.translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgi.0");//Hysteresis low setting + private static final INameFunction<GT_MetaTileEntity_TM_teslaCoil> HYSTERESIS_HIGH_SETTING_NAME = (base, p) -> StatCollector.translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgi.1");//Hysteresis high setting + private static final INameFunction<GT_MetaTileEntity_TM_teslaCoil> TRANSFER_RADIUS_TOWER_SETTING_NAME = (base, p) -> StatCollector.translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgi.2");//Tesla Towers transfer radius setting + private static final INameFunction<GT_MetaTileEntity_TM_teslaCoil> TRANSFER_RADIUS_TRANSCEIVER_SETTING_NAME = (base, p) -> StatCollector.translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgi.3");//Tesla Transceiver transfer radius setting + private static final INameFunction<GT_MetaTileEntity_TM_teslaCoil> TRANSFER_RADIUS_COVER_ULTIMATE_SETTING_NAME = (base, p) -> StatCollector.translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgi.4");//Tesla Ultimate Cover transfer radius setting + private static final INameFunction<GT_MetaTileEntity_TM_teslaCoil> OUTPUT_VOLTAGE_SETTING_NAME = (base, p) -> StatCollector.translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgi.5");//Output voltage setting + private static final INameFunction<GT_MetaTileEntity_TM_teslaCoil> OUTPUT_CURRENT_SETTING_NAME = (base, p) -> StatCollector.translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgi.6");//Output current setting + private static final INameFunction<GT_MetaTileEntity_TM_teslaCoil> SCAN_TIME_MIN_SETTING_NAME = (base, p) -> StatCollector.translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgi.7");//Scan time Min setting + private static final INameFunction<GT_MetaTileEntity_TM_teslaCoil> OVERDRIVE_SETTING_NAME = (base, p) -> StatCollector.translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgi.8");//Overdrive setting + private static final INameFunction<GT_MetaTileEntity_TM_teslaCoil> POPOGA_NAME = (base, p) -> StatCollector.translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgi.9");//Unused + + private static final INameFunction<GT_MetaTileEntity_TM_teslaCoil> TRANSFER_RADIUS_TOWER_DISPLAY_NAME = (base, p) -> StatCollector.translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgo.0");//Tesla Towers transfer radius display + private static final INameFunction<GT_MetaTileEntity_TM_teslaCoil> TRANSFER_RADIUS_TRANSCEIVER_DISPLAY_NAME = (base, p) -> StatCollector.translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgo.1");//Tesla Transceiver transfer radius display + private static final INameFunction<GT_MetaTileEntity_TM_teslaCoil> TRANSFER_RADIUS_COVER_ULTIMATE_DISPLAY_NAME = (base, p) -> StatCollector.translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgo.2");//Tesla Ultimate Cover transfer radius display + private static final INameFunction<GT_MetaTileEntity_TM_teslaCoil> OUTPUT_VOLTAGE_DISPLAY_NAME = (base, p) -> StatCollector.translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgo.3");//Output voltage display + private static final INameFunction<GT_MetaTileEntity_TM_teslaCoil> OUTPUT_CURRENT_DISPLAY_NAME = (base, p) -> StatCollector.translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgo.4");//Output current display + private static final INameFunction<GT_MetaTileEntity_TM_teslaCoil> ENERGY_CAPACITY_DISPLAY_NAME = (base, p) -> StatCollector.translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgo.5");//Energy Capacity display + private static final INameFunction<GT_MetaTileEntity_TM_teslaCoil> ENERGY_STORED_DISPLAY_NAME = (base, p) ->StatCollector.translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgo.6");//Energy Stored display + private static final INameFunction<GT_MetaTileEntity_TM_teslaCoil> ENERGY_FRACTION_DISPLAY_NAME = (base, p) -> StatCollector.translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgo.7");//Energy Fraction display + private static final INameFunction<GT_MetaTileEntity_TM_teslaCoil> SCAN_TIME_DISPLAY_NAME = (base, p) -> StatCollector.translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.cfgo.8");//Scan time display + + private static final IStatusFunction<GT_MetaTileEntity_TM_teslaCoil> HYSTERESIS_LOW_STATUS = (base, p) -> { + double value = p.get(); + if (Double.isNaN(value)) { + return STATUS_WRONG; + } + if (value <= 0.05) return STATUS_TOO_LOW; + if (value > base.histHighSetting.get()) return STATUS_TOO_HIGH; + return STATUS_OK; }; - private static final String[][] shape2 = new String[][]{//16 3 0 - {E,"P ","P ","P.","P ","P ",}, - {"P ","O12","A000B0A0A0A0B12","A000B0A0A0A0B12","A000B0A0A0A0B12","O12","P ",}, - {"P ","A000B0A0A0A0B12","00000K1","00000A!A!A!A!C1","00000K1","A000B0A0A0A0B12","P ",}, - {"P ","A000B0A0A0A0B12","00000A!A!A!A!C1","00003333333333332","00000A!A!A!A!C1","A000B0A0A0A0B12","P ",}, - {"P ","A000B0A0A0A0B12","00000K1","00000A!A!A!A!C1","00000K1","A000B0A0A0A0B12","P ",}, - {"P ","O12","A000B0A0A0A0B12","A000B0A0A0A0B12","A000B0A0A0A0B12","F0H12","P ",}, - {E,"P ","P ","P ","P ","P ",}, + private static final IStatusFunction<GT_MetaTileEntity_TM_teslaCoil> HYSTERESIS_HIGH_STATUS = (base, p) -> { + double value = p.get(); + if (Double.isNaN(value)) return STATUS_WRONG; + if (value <= base.histLowSetting.get()) return STATUS_TOO_LOW; + if (value > 0.95) return STATUS_TOO_HIGH; + return STATUS_OK; }; - private static final String[][] shape3 = new String[][]{//0 3 0 - {E," "," ","."," "," ",}, - {" ","21","21B0A0A0A0B000","21B0A0A0A0B000","21B0A0A0A0B000","21H0"," ",}, - {" ","21B0A0A0A0B000","1K00000","1C!A!A!A!A00000","1K00000","21B0A0A0A0B000"," ",}, - {" ","21B0A0A0A0B000","1C!A!A!A!A00000","23333333333330000","1C!A!A!A!A00000","21B0A0A0A0B000"," ",}, - {" ","21B0A0A0A0B000","1K00000","1C!A!A!A!A00000","1K00000","21B0A0A0A0B000"," ",}, - {" ","21","21B0A0A0A0B000","21B0A0A0A0B000","21B0A0A0A0B000","21"," ",}, - {E," "," "," "," "," ",}, + private static final IStatusFunction<GT_MetaTileEntity_TM_teslaCoil> TRANSFER_RADIUS_TOWER_STATUS = (base, p) -> { + double value = p.get(); + if (Double.isNaN(value)) return STATUS_WRONG; + value = (int) value; + if (value < 0) return STATUS_TOO_LOW; + if (value > 40) return STATUS_TOO_HIGH; + if (value < 32) return STATUS_LOW; + return STATUS_OK; }; - - private static final String[][][] shapes = new String[][][]{shape0,shape1,shape2,shape3}; - private static final Block[] blockType = new Block[]{sBlockCasings1, sBlockCasings5, sBlockCasings2, sBlockCasings5};//TODO Give it it's own casing type, add a primary coil type, add a secondary coil type and add toroid casing type - private static final byte[] blockMetaT0 = new byte[]{15, 0, 13, 0}; - private static final byte[] blockMetaT1 = new byte[]{15, 1, 13, 0}; - private static final byte[] blockMetaT2 = new byte[]{15, 2, 13, 0}; - private static final byte[][] blockMetas = new byte[][]{blockMetaT0,blockMetaT1,blockMetaT2}; - private final IHatchAdder[] addingMethods = new IHatchAdder[]{this::addCapacitorToMachineList, this::addFrameToMachineList}; - private static final short[] casingTextures = new short[]{29, 0}; - private static final Block[] blockTypeFallback = new Block[]{sBlockCasings2, null}; - private static final byte[] blockMetaFallback = new byte[]{13, 0}; - private static final String[] description = new String[]{ - EnumChatFormatting.AQUA + "Hint Details:", - "1 - Classic Hatches or Steel Pipe Casing", - "2 - Titanium Frames", + private static final IStatusFunction<GT_MetaTileEntity_TM_teslaCoil> TRANSFER_RADIUS_TRANSCEIVER_OR_COVER_ULTIMATE_STATUS = (base, p) -> { + double value = p.get(); + if (Double.isNaN(value)) return STATUS_WRONG; + value = (int) value; + if (value < 0) return STATUS_TOO_LOW; + if (value > 20) return STATUS_TOO_HIGH; + if (value < 16) return STATUS_LOW; + return STATUS_OK; + }; + private static final IStatusFunction<GT_MetaTileEntity_TM_teslaCoil> OUTPUT_VOLTAGE_OR_CURRENT_STATUS = (base, p) -> { + double value = p.get(); + if (Double.isNaN(value)) return STATUS_WRONG; + value = (long) value; + if (value == -1) return STATUS_OK; + if (value <= 0) return STATUS_TOO_LOW; + return STATUS_OK; + }; + private static final IStatusFunction<GT_MetaTileEntity_TM_teslaCoil> SCAN_TIME_MIN_STATUS = (base, p) -> { + double value = p.get(); + if (Double.isNaN(value)) return STATUS_WRONG; + value = (int) value; + if (value < 100) return STATUS_TOO_LOW; + if (value == 100) return STATUS_OK; + return STATUS_HIGH; + }; + private static final IStatusFunction<GT_MetaTileEntity_TM_teslaCoil> OVERDRIVE_STATUS = (base, p) -> { + double value = p.get(); + if (Double.isNaN(value)) return STATUS_WRONG; + value = (int) value; + if (value < 0) return STATUS_TOO_LOW; + if (value == 0) return STATUS_LOW; + return STATUS_HIGH; + }; + private static final IStatusFunction<GT_MetaTileEntity_TM_teslaCoil> POPOGA_STATUS = (base, p) -> { + if (base.getBaseMetaTileEntity().getWorld().isThundering()) { + return STATUS_WTF; + } + return STATUS_NEUTRAL; + }; + private static final IStatusFunction<GT_MetaTileEntity_TM_teslaCoil> SCAN_TIME_STATUS = (base, p) -> { + double value = p.get(); + if (Double.isNaN(value)) return STATUS_WRONG; + value = (int) value; + if (value == 0 || value == 20 || value == 40 || value == 60 || value == 80) return STATUS_HIGH; + return STATUS_LOW; + }; + private static final IStatusFunction<GT_MetaTileEntity_TM_teslaCoil> POWER_STATUS = (base, p) -> { + double value = p.get(); + if (Double.isNaN(value)) return STATUS_WRONG; + value = (long) value; + if (value > 0) { + return STATUS_OK; + } else { + return STATUS_LOW; + } + }; + private static final IStatusFunction<GT_MetaTileEntity_TM_teslaCoil> ENERGY_STATUS = (base, p) -> { + double value = p.get(); + if (Double.isNaN(value)) return STATUS_WRONG; + if (base.energyFractionDisplay.get() > base.histHighSetting.get()) { + return STATUS_HIGH; + } else if (base.energyFractionDisplay.get() < base.histLowSetting.get()) { + return STATUS_LOW; + } else { + return STATUS_OK; + } }; //endregion @@ -108,6 +232,62 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock } @Override + protected void parametersInstantiation_EM() { + Parameters.Group hatch_0 = parametrization.getGroup(0, true); + Parameters.Group hatch_1 = parametrization.getGroup(1, true); + Parameters.Group hatch_2 = parametrization.getGroup(2, true); + Parameters.Group hatch_3 = parametrization.getGroup(3, true); + Parameters.Group hatch_4 = parametrization.getGroup(4, true); + Parameters.Group hatch_5 = parametrization.getGroup(5, true); + Parameters.Group hatch_6 = parametrization.getGroup(6, true); + Parameters.Group hatch_7 = parametrization.getGroup(7, true); + Parameters.Group hatch_8 = parametrization.getGroup(8, true); + Parameters.Group hatch_9 = parametrization.getGroup(9, true); + + histLowSetting = hatch_0.makeInParameter(0, 0.25, HYSTERESIS_LOW_SETTING_NAME, HYSTERESIS_LOW_STATUS); + popogaSetting = hatch_0.makeInParameter(1, 0, POPOGA_NAME, POPOGA_STATUS); + histHighSetting = hatch_1.makeInParameter(0, 0.75, HYSTERESIS_HIGH_SETTING_NAME, HYSTERESIS_HIGH_STATUS); + popogaSetting = hatch_1.makeInParameter(1, 0, POPOGA_NAME, POPOGA_STATUS); + transferRadiusTowerSetting = hatch_2.makeInParameter(0, 32, TRANSFER_RADIUS_TOWER_SETTING_NAME, TRANSFER_RADIUS_TOWER_STATUS); + popogaSetting = hatch_2.makeInParameter(1, 0, POPOGA_NAME, POPOGA_STATUS); + transferRadiusTransceiverSetting = hatch_3.makeInParameter(0, 16, TRANSFER_RADIUS_TRANSCEIVER_SETTING_NAME, TRANSFER_RADIUS_TRANSCEIVER_OR_COVER_ULTIMATE_STATUS); + transferRadiusCoverUltimateSetting = hatch_3.makeInParameter(1, 16, TRANSFER_RADIUS_COVER_ULTIMATE_SETTING_NAME, TRANSFER_RADIUS_TRANSCEIVER_OR_COVER_ULTIMATE_STATUS); + outputVoltageSetting = hatch_4.makeInParameter(0, -1, OUTPUT_VOLTAGE_SETTING_NAME, OUTPUT_VOLTAGE_OR_CURRENT_STATUS); + popogaSetting = hatch_4.makeInParameter(1, 0, POPOGA_NAME, POPOGA_STATUS); + outputCurrentSetting = hatch_5.makeInParameter(0, -1, OUTPUT_CURRENT_SETTING_NAME, OUTPUT_VOLTAGE_OR_CURRENT_STATUS); + popogaSetting = hatch_5.makeInParameter(1, 0, POPOGA_NAME, POPOGA_STATUS); + popogaSetting = hatch_6.makeInParameter(0, 0, POPOGA_NAME, POPOGA_STATUS); + popogaSetting = hatch_6.makeInParameter(1, 0, POPOGA_NAME, POPOGA_STATUS); + scanTimeMinSetting = hatch_7.makeInParameter(0, 100, SCAN_TIME_MIN_SETTING_NAME, SCAN_TIME_MIN_STATUS); + popogaSetting = hatch_7.makeInParameter(1, 0, POPOGA_NAME, POPOGA_STATUS); + overDriveSetting = hatch_8.makeInParameter(0, 0, OVERDRIVE_SETTING_NAME, OVERDRIVE_STATUS); + popogaSetting = hatch_8.makeInParameter(1, 0, POPOGA_NAME, POPOGA_STATUS); + popogaSetting = hatch_9.makeInParameter(0, 0, POPOGA_NAME, POPOGA_STATUS); + popogaSetting = hatch_9.makeInParameter(1, 0, POPOGA_NAME, POPOGA_STATUS); + + popogaDisplay = hatch_0.makeOutParameter(0, 0, POPOGA_NAME, POPOGA_STATUS); + popogaDisplay = hatch_0.makeOutParameter(1, 0, POPOGA_NAME, POPOGA_STATUS); + popogaDisplay = hatch_1.makeOutParameter(0, 0, POPOGA_NAME, POPOGA_STATUS); + popogaDisplay = hatch_1.makeOutParameter(1, 0, POPOGA_NAME, POPOGA_STATUS); + transferRadiusTowerDisplay = hatch_2.makeOutParameter(0, 0, TRANSFER_RADIUS_TOWER_DISPLAY_NAME, TRANSFER_RADIUS_TOWER_STATUS); + popogaDisplay = hatch_2.makeOutParameter(1, 0, POPOGA_NAME, POPOGA_STATUS); + transferRadiusTransceiverDisplay = hatch_3.makeOutParameter(0, 0, TRANSFER_RADIUS_TRANSCEIVER_DISPLAY_NAME, TRANSFER_RADIUS_TRANSCEIVER_OR_COVER_ULTIMATE_STATUS); + transferRadiusCoverUltimateDisplay = hatch_3.makeOutParameter(1, 0, TRANSFER_RADIUS_COVER_ULTIMATE_DISPLAY_NAME, TRANSFER_RADIUS_TRANSCEIVER_OR_COVER_ULTIMATE_STATUS); + outputVoltageDisplay = hatch_4.makeOutParameter(0, 0, OUTPUT_VOLTAGE_DISPLAY_NAME, POWER_STATUS); + popogaDisplay = hatch_4.makeOutParameter(1, 0, POPOGA_NAME, POPOGA_STATUS); + outputCurrentDisplay = hatch_5.makeOutParameter(0, 0, OUTPUT_CURRENT_DISPLAY_NAME, POWER_STATUS); + energyCapacityDisplay = hatch_5.makeOutParameter(1, 0, ENERGY_CAPACITY_DISPLAY_NAME, ENERGY_STATUS); + energyStoredDisplay = hatch_6.makeOutParameter(0, 0, ENERGY_STORED_DISPLAY_NAME, ENERGY_STATUS); + energyFractionDisplay = hatch_6.makeOutParameter(1, 0, ENERGY_FRACTION_DISPLAY_NAME, ENERGY_STATUS); + scanTimeDisplay = hatch_7.makeOutParameter(0, 0, SCAN_TIME_DISPLAY_NAME, SCAN_TIME_STATUS); + popogaDisplay = hatch_7.makeOutParameter(1, 0, POPOGA_NAME, POPOGA_STATUS); + popogaDisplay = hatch_8.makeOutParameter(0, 0, POPOGA_NAME, POPOGA_STATUS); + popogaDisplay = hatch_8.makeOutParameter(1, 0, POPOGA_NAME, POPOGA_STATUS); + popogaDisplay = hatch_9.makeOutParameter(0, 0, POPOGA_NAME, POPOGA_STATUS); + popogaDisplay = hatch_9.makeOutParameter(1, 0, POPOGA_NAME, POPOGA_STATUS); + } + + @Override public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { return new GT_MetaTileEntity_TM_teslaCoil(mName); } @@ -115,115 +295,133 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock @Override @SideOnly(Side.CLIENT) public void registerIcons(IIconRegister aBlockIconRegister) { - ScreenOFF = new Textures.BlockIcons.CustomIcon("iconsets/EM_WH"); - ScreenON = new Textures.BlockIcons.CustomIcon("iconsets/EM_WH_ACTIVE"); + ScreenOFF = new Textures.BlockIcons.CustomIcon("iconsets/TM_TESLA_TOWER"); + ScreenON = new Textures.BlockIcons.CustomIcon("iconsets/TM_TESLA_TOWER_ACTIVE"); super.registerIcons(aBlockIconRegister); } @Override + public void saveNBTData(NBTTagCompound aNBT) { + super.saveNBTData(aNBT); + aNBT.setLong("eEnergyCapacity", energyCapacity); + } + + @Override + public void loadNBTData(NBTTagCompound aNBT) { + super.loadNBTData(aNBT); + energyCapacity = aNBT.getLong("eEnergyCapacity"); + } + + private long getEnergyEfficiency(long voltage, int distance, boolean overDriveToggle) { + if (overDriveToggle) { + return (long) ((voltage * 2) - (voltage * Math.pow(overdriveEfficiency, distance))); + } else { + return (long) (voltage * Math.pow(energyEfficiency, distance)); + } + } + + private float getRangeMulti(int mTier, int vTier) { + //Over-tiered coils will add +25% range + if (vTier > mTier) { + return 1.25F; + } + return 1F; + } + + @Override public long maxEUStore() { - return V[9] * 2; + return energyCapacity * 2; } @Override public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) { if (aSide == aFacing) { - return new ITexture[]{Textures.BlockIcons.casingTexturePages[texturePage][4], new GT_RenderedTexture(aActive ? ScreenON : ScreenOFF)}; + return new ITexture[]{Textures.BlockIcons.casingTexturePages[texturePage][16 + 6], new TT_RenderedTexture(aActive ? ScreenON : ScreenOFF)}; } - return new ITexture[]{Textures.BlockIcons.casingTexturePages[texturePage][4]}; + return new ITexture[]{Textures.BlockIcons.casingTexturePages[texturePage][16 + 6]}; } @Override - public boolean checkMachine_EM(IGregTechTileEntity iGregTechTileEntity, ItemStack itemStack) { - eCaps.clear(); - int coilX0 = 0; - int coilX1 = 0; - int coilX2 = 0; - - int coilY0 = 1; - int coilY1 = 0; - int coilY2 = 0; - - int coilZ0 = 0; - int coilZ1 = 0; - int coilZ2 = 0; - - switch (iGregTechTileEntity.getFrontFacing()) { - case 2: - coilZ0 = 1; - coilZ1 = 1; - coilZ2 = 1; - coilX1 = 1; - coilX2 = -1; - break; - case 3: - coilZ0 = -1; - coilZ1 = -1; - coilZ2 = -1; - coilX1 = -1; - coilX2 = 1; - break; - case 4: - coilX0 = 1; - coilX1 = 1; - coilX2 = 1; - coilZ1 = -1; - coilZ2 = 1; - break; - case 5: - coilX0 = -1; - coilX1 = -1; - coilX2 = -1; - coilZ1 = 1; - coilZ2 = -1; - break; - default: - return false; + public void onRemoval() { + super.onRemoval(); + for (GT_MetaTileEntity_Hatch_Capacitor cap : eCapacitorHatches) { + cap.getBaseMetaTileEntity().setActive(false); } + } - Block coil0 = iGregTechTileEntity.getBlockOffset(coilX0, coilY0, coilZ0); - Block coil1 = iGregTechTileEntity.getBlockOffset(coilX0, -coilY0, coilZ0); - Block coil2 = iGregTechTileEntity.getBlockOffset(coilX1, coilY1, coilZ1); - Block coil3 = iGregTechTileEntity.getBlockOffset(coilX2, coilY2, coilZ2); - - int xOffset; - int yOffset; - int zOffset; - - if (coil0 == sBlockCasings5) { - xOffset = 3; - yOffset = 16; - zOffset = 0; - orientation = 0; - tier = iGregTechTileEntity.getMetaIDOffset(coilX0, coilY0, coilZ0); - } else if (coil1 == sBlockCasings5) { - xOffset = 3; - yOffset = 0; - zOffset = 0; - orientation = 1; - tier = iGregTechTileEntity.getMetaIDOffset(coilX0, -coilY0, coilZ0); - } else if (coil2 == sBlockCasings5) { - xOffset = 16; - yOffset = 3; - zOffset = 0; - orientation = 2; - tier = iGregTechTileEntity.getMetaIDOffset(coilX1, coilY1, coilZ1); - } else if (coil3 == sBlockCasings5) { - xOffset = 0; - yOffset = 3; - zOffset = 0; - orientation = 3; - tier = iGregTechTileEntity.getMetaIDOffset(coilX2, coilY2, coilZ2); - } else { - return false; + @Override + public void stopMachine() { + super.stopMachine(); + for (GT_MetaTileEntity_Hatch_Capacitor cap : eCapacitorHatches) { + cap.getBaseMetaTileEntity().setActive(false); } - return structureCheck_EM(shapes[orientation], blockType, blockMetas[tier], addingMethods, casingTextures, blockTypeFallback, blockMetaFallback, xOffset, yOffset, zOffset); + setEUVar(0); + energyStoredDisplay.set(0); + energyFractionDisplay.set(0); + } + + @Override + public boolean checkMachine_EM(IGregTechTileEntity iGregTechTileEntity, ItemStack itemStack) { + for (GT_MetaTileEntity_Hatch_Capacitor cap : eCapacitorHatches) { + if (GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity(cap)) { + cap.getBaseMetaTileEntity().setActive(false); + } + } + eCapacitorHatches.clear(); + + int[] xyzOffsets; + xyzOffsets = getTranslatedOffsets(0, -1, 1); + mTier = iGregTechTileEntity.getMetaIDOffset(xyzOffsets[0], xyzOffsets[1], xyzOffsets[2]); + + if (structureCheck_EM(shape, blockType, blockMetas[mTier], addingMethods, casingTextures, blockTypeFallback, blockMetaFallback, 3, 16, 0) && eCapacitorHatches.size() > 0) { + for (GT_MetaTileEntity_Hatch_Capacitor cap : eCapacitorHatches) { + if (GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity(cap)) { + cap.getBaseMetaTileEntity().setActive(iGregTechTileEntity.isActive()); + } + } + + //Only recalculate offsets on orientation or rotation change + if (oldRotation != getFrontRotation() || oldOrientation != iGregTechTileEntity.getFrontFacing()) { + oldRotation = getFrontRotation(); + oldOrientation = iGregTechTileEntity.getFrontFacing(); + + //Calculate coordinates of the middle bottom + xyzOffsets = getTranslatedOffsets(0, 0, 2); + posZap[0] = iGregTechTileEntity.getXCoord() + xyzOffsets[0]; + posZap[1] = iGregTechTileEntity.getYCoord() + xyzOffsets[1]; + posZap[2] = iGregTechTileEntity.getZCoord() + xyzOffsets[2]; + + //Calculate coordinates of the top sphere + xyzOffsets = getTranslatedOffsets(0, -14, 2); + posTop[0] = iGregTechTileEntity.getXCoord() + xyzOffsets[0]; + posTop[1] = iGregTechTileEntity.getYCoord() + xyzOffsets[1]; + posTop[2] = iGregTechTileEntity.getZCoord() + xyzOffsets[2]; + + //Calculate offsets for scanning + scanPosOffsets[0] = getTranslatedOffsets(40, 0, 43); + scanPosOffsets[1] = getTranslatedOffsets(-40, -4, -37); + + scanPosOffsets[2] = getTranslatedOffsets(40, -5, 43); + scanPosOffsets[3] = getTranslatedOffsets(-40, -8, -37); + + scanPosOffsets[4] = getTranslatedOffsets(40, -9, 43); + scanPosOffsets[5] = getTranslatedOffsets(-40, -12, -37); + + scanPosOffsets[6] = getTranslatedOffsets(40, -13, 43); + scanPosOffsets[7] = getTranslatedOffsets(-40, -16, -37); + + scanPosOffsets[8] = getTranslatedOffsets(40, -17, 43); + scanPosOffsets[9] = getTranslatedOffsets(-40, -20, -37); + } + return true; + } + return false; } @Override public void construct(int stackSize, boolean hintsOnly) { - StructureBuilder(shapes[0], blockType, blockMetas[(stackSize-1)%3], 3, 16, 0, getBaseMetaTileEntity(), hintsOnly); + StructureBuilderExtreme(shape, blockType, blockMetas[(stackSize - 1) % 6], 3, 16, 0, getBaseMetaTileEntity(), this, hintsOnly); } @Override @@ -235,86 +433,365 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock public String[] getDescription() { return new String[]{ CommonValues.BASS_MARK, - "Tower of Wireless Power", - EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + "Fewer pesky cables!", - EnumChatFormatting.BLUE + "Survival chances might be affected", + StatCollector.translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.desc.0"),//Tower of Wireless Power + EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + StatCollector.translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.desc.1"),//Fewer pesky cables! + EnumChatFormatting.BLUE + StatCollector.translateToLocal("gt.blockmachines.multimachine.tm.teslaCoil.desc.2"),//Survival chances might be affected }; } @Override public boolean checkRecipe_EM(ItemStack itemStack) { + if (!histHighSetting.getStatus(false).isOk || + !histLowSetting.getStatus(false).isOk || + !transferRadiusTowerSetting.getStatus(false).isOk || + !transferRadiusTransceiverSetting.getStatus(false).isOk || + !transferRadiusCoverUltimateSetting.getStatus(false).isOk || + !outputVoltageSetting.getStatus(false).isOk || + !outputCurrentSetting.getStatus(false).isOk || + !scanTimeMinSetting.getStatus(false).isOk || + !overDriveSetting.getStatus(false).isOk + ) return false; + mEfficiencyIncrease = 10000; mMaxProgresstime = 20; + vTier = -1; + long[] capacitorData; + for (GT_MetaTileEntity_Hatch_Capacitor cap : eCapacitorHatches) { + if (!GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity(cap)) { + continue; + } + if (cap.getCapacitors()[0] > vTier) { + vTier = (int) cap.getCapacitors()[0]; + } + } + + //Calculate Efficiency values + energyEfficiency = map(mTier + 1, 1, maxTier, minEfficiency, maxEfficiency); + overdriveEfficiency = energyEfficiency - overdriveEfficiencyExtra; + + energyCapacity = 0; + outputCurrentMax = 0; + + if (vTier < 0) { + //Returning true to allow for 'passive running' + outputVoltageMax = 0; + return true; + } else if (vTier > mTier && getEUVar() > 0) { + explodeMultiblock(); + } + + outputVoltageMax = V[vTier + 1]; + for (GT_MetaTileEntity_Hatch_Capacitor cap : eCapacitorHatches) { + if (!GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity(cap)) { + continue; + } + cap.getBaseMetaTileEntity().setActive(true); + capacitorData = cap.getCapacitors(); + if (capacitorData[0] < vTier) { + if (getEUVar() > 0 && capacitorData[0] != 0) { + cap.getBaseMetaTileEntity().setToFire(); + } + eCapacitorHatches.remove(cap); + } else { + outputCurrentMax += capacitorData[1]; + energyCapacity += capacitorData[2]; + } + } return true; } + private void scanForTransmissionTargets(int[] coordsMin, int[] coordsMax) { + //This makes sure the minimums are actually smaller than the maximums + int xMin = coordsMin[0] < coordsMax[0] ? coordsMin[0] : coordsMax[0]; + int yMin = coordsMin[1] < coordsMax[1] ? coordsMin[1] : coordsMax[1]; + int zMin = coordsMin[2] < coordsMax[2] ? coordsMin[2] : coordsMax[2]; + //And vice versa + int xMax = coordsMin[0] > coordsMax[0] ? coordsMin[0] : coordsMax[0]; + int yMax = coordsMin[1] > coordsMax[1] ? coordsMin[1] : coordsMax[1]; + int zMax = coordsMin[2] > coordsMax[2] ? coordsMin[2] : coordsMax[2]; + + for (int xPos = xMin; xPos <= xMax; xPos++) { + for (int yPos = yMin; yPos <= yMax; yPos++) { + for (int zPos = zMin; zPos <= zMax; zPos++) { + if (xPos == 0 && yPos == 0 && zPos == 0) { + continue; + } + IGregTechTileEntity node = getBaseMetaTileEntity().getIGregTechTileEntityOffset(xPos, yPos, zPos); + if (node == null) { + continue; + } + IMetaTileEntity nodeInside = node.getMetaTileEntity(); + if (nodeInside instanceof GT_MetaTileEntity_TeslaCoil || nodeInside instanceof GT_MetaTileEntity_TM_teslaCoil && node.isActive() || (node.getCoverBehaviorAtSide((byte) 1) instanceof GT_Cover_TM_TeslaCoil)) { + eTeslaMap.put(node, (int) Math.ceil(Math.sqrt(Math.pow(xPos, 2) + Math.pow(yPos, 2) + Math.pow(zPos, 2)))); + } + } + } + } + + } + + private void thaumLightning(IGregTechTileEntity mte, IGregTechTileEntity node) { + byte xR = (byte) (node.getXCoord() - posTop[0]); + byte yR = (byte) (node.getYCoord() - posTop[1]); + byte zR = (byte) (node.getZCoord() - posTop[2]); + + int wID = mte.getWorld().provider.dimensionId; + + sparkList.add(new Util.thaumSpark(posTop[0], posTop[1], posTop[2], xR, yR, zR, wID)); + } + @Override public boolean onRunningTick(ItemStack aStack) { IGregTechTileEntity mte = getBaseMetaTileEntity(); - if (mte.isClientSide()) { - return true; - } + //Hysteresis based ePowerPass setting + long energyMax = maxEUStore() / 2; + long energyStored = getEUVar(); + + float energyFrac = (float) energyStored / energyMax; - if (!ePowerPass && getEUVar() > maxEUStore() / 2 * 0.8) { + energyCapacityDisplay.set(energyMax); + energyStoredDisplay.set(energyStored); + energyFractionDisplay.set(energyFrac); + + if (!ePowerPass && energyFrac > histHighSetting.get()) { ePowerPass = true; - } else if (ePowerPass && getEUVar() < maxEUStore() / 2 * 0.2) { + } else if (ePowerPass && energyFrac < histLowSetting.get()) { ePowerPass = false; } + //Clean the eTeslaMap + for (Map.Entry<IGregTechTileEntity, Integer> Rx : eTeslaMap.entrySet()) { + IGregTechTileEntity node = Rx.getKey(); + if (node != null) { + IMetaTileEntity nodeInside = node.getMetaTileEntity(); + try { + if (nodeInside instanceof GT_MetaTileEntity_TM_teslaCoil && node.isActive()) { + GT_MetaTileEntity_TM_teslaCoil teslaTower = (GT_MetaTileEntity_TM_teslaCoil) nodeInside; + if (teslaTower.maxEUStore() > 0) { + continue; + } + } else if (nodeInside instanceof GT_MetaTileEntity_TeslaCoil) { + GT_MetaTileEntity_TeslaCoil teslaTransceiver = (GT_MetaTileEntity_TeslaCoil) nodeInside; + if (teslaTransceiver.mBatteryCount > 0) { + continue; + } + } else if ((node.getCoverBehaviorAtSide((byte) 1) instanceof GT_Cover_TM_TeslaCoil) && node.getEUCapacity() > 0) { + continue; + } + } catch (Exception e) { + } + } + eTeslaMap.remove(Rx.getKey()); + } + + //Scan for transmission targets + switch (scanTime) { + case 0: + scanTimeDisplay.updateStatus(); + scanForTransmissionTargets(scanPosOffsets[0], scanPosOffsets[1]); + break; + case 20: + scanTimeDisplay.updateStatus(); + scanForTransmissionTargets(scanPosOffsets[2], scanPosOffsets[3]); + break; + case 40: + scanTimeDisplay.updateStatus(); + scanForTransmissionTargets(scanPosOffsets[4], scanPosOffsets[5]); + break; + case 60: + scanTimeDisplay.updateStatus(); + scanForTransmissionTargets(scanPosOffsets[6], scanPosOffsets[7]); + break; + case 80: + scanTimeDisplay.updateStatus(); + scanForTransmissionTargets(scanPosOffsets[8], scanPosOffsets[9]); + break; + default: + if (scanTime == (int) scanTimeMinSetting.get() - 1) { + scanTime = -1; + + for (Map.Entry<IGregTechTileEntity, Integer> Rx : eTeslaMap.entrySet()) { + IGregTechTileEntity node = Rx.getKey(); + if (node != null) { + IMetaTileEntity nodeInside = node.getMetaTileEntity(); + try { + if (nodeInside instanceof GT_MetaTileEntity_TeslaCoil) { + GT_MetaTileEntity_TeslaCoil teslaCoil = (GT_MetaTileEntity_TeslaCoil) nodeInside; + + int tX = node.getXCoord(); + int tY = node.getYCoord(); + int tZ = node.getZCoord(); + + int tXN = posZap[0]; + int tYN = posZap[1]; + int tZN = posZap[2]; + + int tOffset = (int) Math.ceil(Math.sqrt(Math.pow(tX - tXN, 2) + Math.pow(tY - tYN, 2) + Math.pow(tZ - tZN, 2))); + teslaCoil.eTeslaMap.put(mte, tOffset); + + for (Map.Entry<IGregTechTileEntity, Integer> RRx : eTeslaMap.entrySet()) { + IGregTechTileEntity nodeN = RRx.getKey(); + if (nodeN == node) { + continue; + } + tXN = nodeN.getXCoord(); + tYN = nodeN.getYCoord(); + tZN = nodeN.getZCoord(); + tOffset = (int) Math.ceil(Math.sqrt(Math.pow(tX - tXN, 2) + Math.pow(tY - tYN, 2) + Math.pow(tZ - tZN, 2))); + if (tOffset > 20) { + continue; + } + teslaCoil.eTeslaMap.put(nodeN, tOffset); + } + } + } catch (Exception e) { + eTeslaMap.remove(Rx.getKey()); + } + } + } + } + break; + } + + scanTime++; + scanTimeDisplay.set(scanTime); + + //Power Limit Settings + long outputVoltage; + if (outputVoltageSetting.get() > 0) { + outputVoltage = Math.min(outputVoltageMax, (long) outputVoltageSetting.get()); + } else { + outputVoltage = outputVoltageMax; + } + outputVoltageDisplay.set(outputVoltage); + + long outputCurrent; + if (outputCurrentSetting.get() > 0) { + outputCurrent = Math.min(outputCurrentMax, (long) outputCurrentSetting.get()); + } else { + outputCurrent = outputCurrentMax; + } + outputCurrentDisplay.set(0); + + //Stuff to do if ePowerPass if (ePowerPass) { - scanTime++; - if (scanTime == 100) { - scanTime = 0; - eTeslaList.clear(); - - for (int xPosOffset = -scanRadius; xPosOffset <= scanRadius; xPosOffset++) { - for (int yPosOffset = -scanRadius; yPosOffset <= scanRadius; yPosOffset++) { - for (int zPosOffset = -scanRadius; zPosOffset <= scanRadius; zPosOffset++) { - IGregTechTileEntity node = mte.getIGregTechTileEntityOffset(xPosOffset, yPosOffset, zPosOffset); - if (node == null) { + //Range calculation and display + float rangeFrac = (float) ((-0.5 * Math.pow(energyFrac, 2)) + (1.5 * energyFrac)); + int transferRadiusTower = (int) (transferRadiusTowerSetting.get() * getRangeMulti(mTier, vTier) * rangeFrac); + transferRadiusTowerDisplay.set(transferRadiusTower); + int transferRadiusTransceiver = (int) (transferRadiusTransceiverSetting.get() * getRangeMulti(mTier, vTier) * rangeFrac); + transferRadiusTransceiverDisplay.set(transferRadiusTransceiver); + int transferRadiusCoverUltimate = (int) (transferRadiusCoverUltimateSetting.get() * getRangeMulti(mTier, vTier) * rangeFrac); + transferRadiusCoverUltimateDisplay.set(transferRadiusCoverUltimate); + + //Clean the eTeslaMap + for (Map.Entry<IGregTechTileEntity, Integer> Rx : eTeslaMap.entrySet()) { + IGregTechTileEntity node = Rx.getKey(); + if (node != null) { + IMetaTileEntity nodeInside = node.getMetaTileEntity(); + try { + if (nodeInside instanceof GT_MetaTileEntity_TM_teslaCoil && node.isActive()) { + GT_MetaTileEntity_TM_teslaCoil teslaTower = (GT_MetaTileEntity_TM_teslaCoil) nodeInside; + if (teslaTower.maxEUStore() > 0) { continue; } - IMetaTileEntity nodeInside = node.getMetaTileEntity(); - if (nodeInside instanceof GT_MetaTileEntity_TM_teslaCoil && node.isActive()) { - eTeslaList.add((GT_MetaTileEntity_TM_teslaCoil) nodeInside); + } else if (nodeInside instanceof GT_MetaTileEntity_TeslaCoil) { + GT_MetaTileEntity_TeslaCoil teslaCoil = (GT_MetaTileEntity_TeslaCoil) nodeInside; + if (teslaCoil.getStoredEnergy()[1] > 0) { + continue; } + } else if ((node.getCoverBehaviorAtSide((byte) 1) instanceof GT_Cover_TM_TeslaCoil) && node.getEUCapacity() > 0) { + continue; } + } catch (Exception e) { } } + eTeslaMap.remove(Rx.getKey()); } - float xPos = mte.getXCoord() + 0.5f; - float yPos = mte.getYCoord() + 0.5f; - float zPos = mte.getZCoord() + 0.5f; - long reqSum = 0; - for (GT_MetaTileEntity_TM_teslaCoil Rx : eTeslaList.toArray(new GT_MetaTileEntity_TM_teslaCoil[0])) { - try { - reqSum += Rx.maxEUStore() - Rx.getEUVar(); - } catch (Exception e) { - eTeslaList.remove(Rx); - } - } + //Power transfer + long sparks = outputCurrent; + while (sparks > 0) { + boolean overdriveToggle = overDriveSetting.get() > 0; + boolean idle = true; + for (Map.Entry<IGregTechTileEntity, Integer> Rx : entriesSortedByValues(eTeslaMap)) { + if (energyStored >= (overdriveToggle ? outputVoltage * 2 : outputVoltage)) { + IGregTechTileEntity node = Rx.getKey(); + IMetaTileEntity nodeInside = node.getMetaTileEntity(); + + long outputVoltageInjectable; + long outputVoltageConsumption; + if (overdriveToggle) { + outputVoltageInjectable = outputVoltage; + outputVoltageConsumption = getEnergyEfficiency(outputVoltage, Rx.getValue(), true); + } else { + outputVoltageInjectable = getEnergyEfficiency(outputVoltage, Rx.getValue(), false); + outputVoltageConsumption = outputVoltage; + } - for (GT_MetaTileEntity_TM_teslaCoil Rx : eTeslaList) { - if (!Rx.ePowerPass) { - long euTran = (euTOutMax * (Rx.maxEUStore() - Rx.getEUVar())) / reqSum; - if (Rx.getEUVar() + euTran <= Rx.maxEUStore() && getEUVar() - euTran >= 0) { - setEUVar(getEUVar() - euTran); - Rx.getBaseMetaTileEntity().increaseStoredEnergyUnits(euTran, true);//might work QUESTION POINT; - //mte.getWorld().playSoundEffect(xPos, yPos, zPos, Reference.MODID + ":microwave_ding", 1, 1); + if (nodeInside instanceof GT_MetaTileEntity_TM_teslaCoil && Rx.getValue() <= transferRadiusTower) { + GT_MetaTileEntity_TM_teslaCoil nodeTesla = (GT_MetaTileEntity_TM_teslaCoil) nodeInside; + if (!nodeTesla.ePowerPass) { + if (nodeTesla.getEUVar() + outputVoltageInjectable <= (nodeTesla.maxEUStore() / 2)) { + setEUVar(getEUVar() - outputVoltageConsumption); + node.increaseStoredEnergyUnits(outputVoltageConsumption, true); + thaumLightning(mte, node); + sparks--; + idle = false; + } + } + } else if (nodeInside instanceof GT_MetaTileEntity_TeslaCoil && Rx.getValue() <= transferRadiusTransceiver) { + GT_MetaTileEntity_TeslaCoil nodeTesla = (GT_MetaTileEntity_TeslaCoil) nodeInside; + if (!nodeTesla.powerPassToggle) { + if (node.injectEnergyUnits((byte) 6, outputVoltageInjectable, 1L) > 0L) { + setEUVar(getEUVar() - outputVoltageConsumption); + thaumLightning(mte, node); + sparks--; + idle = false; + } + } + } else if ((node.getCoverBehaviorAtSide((byte) 1) instanceof GT_Cover_TM_TeslaCoil_Ultimate) && Rx.getValue() <= transferRadiusCoverUltimate) { + if (node.injectEnergyUnits((byte) 1, outputVoltageInjectable, 1L) > 0L) { + setEUVar(getEUVar() - outputVoltageConsumption); + thaumLightning(mte, node); + sparks--; + idle = false; + } + } + if (sparks == 0) { + break; + } + } else { + idle = true; + break; } } + if (idle) { + break; + } } + outputCurrentDisplay.set(outputCurrent - sparks); + if (scanTime % 60 == 0 && !sparkList.isEmpty()) { + NetworkDispatcher.INSTANCE.sendToAllAround(new RendererMessage.RendererData(sparkList), + mte.getWorld().provider.dimensionId, + mte.getXCoord(), + mte.getYCoord(), + mte.getZCoord(), + 256); + } + sparkList.clear(); + } else { + outputCurrentDisplay.set(0); } return true; } - public final boolean addFrameToMachineList(IGregTechTileEntity aTileEntity, int aBaseCasingIndex) { + private boolean addFrameToMachineList(IGregTechTileEntity aTileEntity, int aBaseCasingIndex) { return aTileEntity != null && aTileEntity.getMetaTileEntity() instanceof GT_MetaPipeEntity_Frame; } - public final boolean addCapacitorToMachineList(IGregTechTileEntity aTileEntity, int aBaseCasingIndex) { + private boolean addCapacitorToMachineList(IGregTechTileEntity aTileEntity, int aBaseCasingIndex) { if (aTileEntity == null) { return false; } @@ -324,7 +801,7 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock } if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Capacitor) { ((GT_MetaTileEntity_Hatch) aMetaTileEntity).updateTexture(aBaseCasingIndex); - return eCaps.add((GT_MetaTileEntity_Hatch_Capacitor) aMetaTileEntity); + return eCapacitorHatches.add((GT_MetaTileEntity_Hatch_Capacitor) aMetaTileEntity); } if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Maintenance) { ((GT_MetaTileEntity_Hatch) aMetaTileEntity).updateTexture(aBaseCasingIndex); @@ -346,6 +823,10 @@ public class GT_MetaTileEntity_TM_teslaCoil extends GT_MetaTileEntity_Multiblock ((GT_MetaTileEntity_Hatch) aMetaTileEntity).updateTexture(aBaseCasingIndex); return eDynamoMulti.add((GT_MetaTileEntity_Hatch_DynamoMulti) aMetaTileEntity); } + if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Param) { + ((GT_MetaTileEntity_Hatch) aMetaTileEntity).updateTexture(aBaseCasingIndex); + return eParamHatches.add((GT_MetaTileEntity_Hatch_Param) aMetaTileEntity); + } return false; } -} +}
\ No newline at end of file diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/render/TT_RenderedTexture.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/render/TT_RenderedTexture.java index 142214f43c..39a12f1f86 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/render/TT_RenderedTexture.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/render/TT_RenderedTexture.java @@ -229,6 +229,7 @@ public class TT_RenderedTexture implements ITexture,IColorModulationContainer { if (aRenderer.renderMinZ < 0.0D || aRenderer.renderMaxZ > 1.0D) { d5 = (double) icon.getMinV(); + d6 = (double) icon.getMaxV(); } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_TeslaCoil.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_TeslaCoil.java new file mode 100644 index 0000000000..41d32bdcf2 --- /dev/null +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_TeslaCoil.java @@ -0,0 +1,340 @@ +package com.github.technus.tectech.thing.metaTileEntity.single;
+
+import com.github.technus.tectech.CommonValues;
+import com.github.technus.tectech.TecTech;
+import com.github.technus.tectech.Util;
+import com.github.technus.tectech.loader.NetworkDispatcher;
+import com.github.technus.tectech.mechanics.data.RendererMessage;
+import com.github.technus.tectech.thing.cover.GT_Cover_TM_TeslaCoil;
+import com.github.technus.tectech.thing.cover.GT_Cover_TM_TeslaCoil_Ultimate;
+import com.github.technus.tectech.thing.metaTileEntity.multi.GT_MetaTileEntity_TM_teslaCoil;
+import eu.usrv.yamcore.auxiliary.PlayerChatHelper;
+import gregtech.api.enums.Textures;
+import gregtech.api.interfaces.ITexture;
+import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
+import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+import gregtech.api.metatileentity.MetaTileEntity;
+import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicBatteryBuffer;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.util.EnumChatFormatting;
+import net.minecraft.util.StatCollector;
+import org.apache.commons.lang3.ArrayUtils;
+
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+
+import static com.github.technus.tectech.CommonValues.V;
+import static com.github.technus.tectech.Util.entriesSortedByValues;
+import static com.github.technus.tectech.Util.map;
+import static com.github.technus.tectech.thing.metaTileEntity.Textures.TESLA_TRANSCEIVER_TOP_BA;
+import static java.lang.Math.round;
+
+
+public class GT_MetaTileEntity_TeslaCoil extends GT_MetaTileEntity_BasicBatteryBuffer {
+ private final static HashSet<Util.thaumSpark> sparkList = new HashSet<Util.thaumSpark>();
+ private byte sparkCount = 0;
+
+ private int maxTier = 4; //Max tier of transceiver
+ private int minTier = 0; //Min tier of transceiver
+
+ public Map<IGregTechTileEntity, Integer> eTeslaMap = new HashMap();//Tesla Map to map them tesla bois!
+
+ private int transferRadiusMax = 20;
+ private int transferRadiusMin = 4;
+ private int transferRadiusLimitTop = (int) map(mTier + 1, minTier + 1, maxTier + 1, transferRadiusMin, transferRadiusMax);
+ private int transferRadiusLimitBottom = 1; //Minimum user configurable
+ private int transferRadius = transferRadiusLimitTop; //Default transferRadius setting
+ private int transferRadiusTower = 0; //Radius for transceiver to tower transfers
+ private int transferRadiusCover = 0; //Radius for transceiver to cover transfers
+
+ public boolean powerPassToggle = false; //Power Pass for public viewing
+ private int histSteps = 20; //Hysteresis Resolution
+ private int histSettingLow = 3; //Hysteresis Low Limit
+ private int histSettingHigh = 15; //Hysteresis High Limit
+ private int histLowLimit = 1; //How low can you configure it?
+ private int histHighLimit = 19; //How high can you configure it?
+ private float histLow = (float) histSettingLow / histSteps; //Power pass is disabled if power is under this fraction
+ private float histHigh = (float) histSettingHigh / histSteps; //Power pass is enabled if power is over this fraction
+
+ private long outputVoltage = V[mTier];
+ private float minEfficiency = TecTech.configTecTech.TESLA_SINGLE_MIN_EFFICIENCY;//Default is 0.91F
+ private float maxEfficiency = TecTech.configTecTech.TESLA_SINGLE_MAX_EFFICIENCY;//Default is 0.95F
+ private float overdriveEfficiencyExtra = TecTech.configTecTech.TESLA_SINGLE_OVERDRIVE_LOSS;//Default is 0.010F
+ private float energyEfficiency = map(mTier + 1, minTier + 1, maxTier + 1, minEfficiency, maxEfficiency);
+ private float overdriveEfficiency = energyEfficiency - overdriveEfficiencyExtra;
+ private boolean overdriveToggle = false;
+
+ public GT_MetaTileEntity_TeslaCoil(int aID, String aName, String aNameRegional, int aTier, int aSlotCount) {
+ super(aID, aName, aNameRegional, aTier, "Tesla Coil Transceiver", aSlotCount);
+ Util.setTier(aTier, this);
+ }
+
+ public GT_MetaTileEntity_TeslaCoil(String aName, int aTier, String aDescription, ITexture[][][] aTextures, int aSlotCount) {
+ super(aName, aTier, aDescription, aTextures, aSlotCount);
+ }
+
+ @Override
+ public String[] getDescription() {
+ String[] jargon = new String[3];
+ jargon[0] = CommonValues.BASS_MARK;
+ jargon[1] = "Your Tesla I/O machine of choice";
+ jargon[1] = StatCollector.translateToLocal("desc.test");
+ jargon[2] = EnumChatFormatting.AQUA + "Lightning stoves for the rich";
+ String[] sDesc = super.getDescription();
+ sDesc = Arrays.copyOfRange(sDesc, 1, sDesc.length);
+ String[] desc = ArrayUtils.addAll(jargon, sDesc);
+ return desc;
+ }
+
+ @Override
+ public boolean onSolderingToolRightClick(byte aSide, byte aWrenchingSide, EntityPlayer aPlayer, float aX, float aY, float aZ) {
+ if (overdriveToggle) {
+ overdriveToggle = false;
+ PlayerChatHelper.SendInfo(aPlayer, "Overdrive disengaged");
+ } else {
+ overdriveToggle = true;
+ PlayerChatHelper.SendInfo(aPlayer, "Overdrive engaged");
+ }
+ return true;
+ }
+
+ @Override
+ public void onScrewdriverRightClick(byte aSide, EntityPlayer aPlayer, float aX, float aY, float aZ) {
+ if (aPlayer.isSneaking()) {
+ if (histSettingHigh < histHighLimit) {
+ histSettingHigh++;
+ } else {
+ histSettingHigh = histSettingLow + 1;
+ }
+ histHigh = (float) histSettingHigh / histSteps;
+ PlayerChatHelper.SendInfo(aPlayer, "Hysteresis high set to " + round(histHigh * 100F) + "%");
+ } else {
+ if (histSettingLow > histLowLimit) {
+ histSettingLow--;
+ } else {
+ histSettingLow = histSettingHigh - 1;
+ }
+ histLow = (float) histSettingLow / histSteps;
+ PlayerChatHelper.SendInfo(aPlayer, "Hysteresis low set to " + round(histLow * 100F) + "%");
+ }
+ }
+
+ @Override
+ public boolean onWireCutterRightClick(byte aSide, byte aWrenchingSide, EntityPlayer aPlayer, float aX, float aY, float aZ) {
+ if (aPlayer.isSneaking()) {
+ if (transferRadius > transferRadiusLimitBottom) {
+ transferRadius--;
+ }
+ } else {
+ if (transferRadius < 0) {
+ transferRadius++;
+ }
+ }
+ PlayerChatHelper.SendInfo(aPlayer, "Tesla radius set to " + transferRadius + "m");
+ return false;
+ }
+
+ // Cheeky skrub stuff to get machine to switch powerPass on soft mallet
+ @Override
+ public boolean hasAlternativeModeText() {
+ return true;
+ }
+
+ @Override
+ public String getAlternativeModeText() {
+ //Hysteresis based ePowerPass Config
+ long energyMax = getStoredEnergy()[1];
+ long energyStored = getStoredEnergy()[0];
+ float energyFrac = (float) energyStored / energyMax;
+
+ //ePowerPass hist toggle
+ if (energyFrac > histHigh) {
+ powerPassToggle = true;
+ } else if (energyFrac < histLow) {
+ powerPassToggle = false;
+ } else {
+ powerPassToggle = !powerPassToggle;
+ }
+
+ //And after this cheeky-ness, toss the string XD
+ return powerPassToggle ? "Sending power!" : "Receiving power!";
+ }
+
+ @Override
+ public boolean isFacingValid(byte aSide) {
+ return aSide != 1;
+ }//Prevents output at the top side
+
+ @Override
+ public ITexture[][][] getTextureSet(ITexture[] aTextures) {
+ ITexture[][][] rTextures = new ITexture[3][17][];
+
+ for (byte i = -1; i < 16; ++i) {
+ rTextures[0][i + 1] = new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[this.mTier][i + 1]};
+ rTextures[1][i + 1] = new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[this.mTier][i + 1], TESLA_TRANSCEIVER_TOP_BA};
+ rTextures[2][i + 1] = new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[this.mTier][i + 1], this.mInventory.length == 16 ? Textures.BlockIcons.OVERLAYS_ENERGY_OUT_POWER[this.mTier] : (this.mInventory.length > 4 ? Textures.BlockIcons.OVERLAYS_ENERGY_OUT_MULTI[this.mTier] : Textures.BlockIcons.OVERLAYS_ENERGY_OUT[this.mTier])};
+ }
+
+ return rTextures;
+ }
+
+ @Override
+ public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) {
+ return this.mTextures[aSide == aFacing ? 2 : aSide == 1 ? 1 : 0][aColorIndex + 1];
+ }
+
+ @Override
+ public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
+ return new GT_MetaTileEntity_TeslaCoil(mName, mTier, mDescription, mTextures, mInventory.length);
+ }
+
+ private void thaumLightning(IGregTechTileEntity mte, IGregTechTileEntity node) {
+ int x = mte.getXCoord();
+ int y = mte.getYCoord();
+ int z = mte.getZCoord();
+
+ byte xR;
+ byte yR;
+ byte zR;
+
+ IMetaTileEntity nodeInside = node.getMetaTileEntity();
+ if (nodeInside instanceof GT_MetaTileEntity_TM_teslaCoil) {
+ GT_MetaTileEntity_TM_teslaCoil nodeTesla = (GT_MetaTileEntity_TM_teslaCoil) nodeInside;
+ xR = (byte) (nodeTesla.posTop[0] - x);
+ yR = (byte) (nodeTesla.posTop[1] - y);
+ zR = (byte) (nodeTesla.posTop[2] - z);
+ } else {
+ xR = (byte) (node.getXCoord() - x);
+ yR = (byte) (node.getYCoord() - y);
+ zR = (byte) (node.getZCoord() - z);
+ }
+
+ int wID = mte.getWorld().provider.dimensionId;
+
+ sparkList.add(new Util.thaumSpark(x, y, z, xR, yR, zR, wID));
+ }
+
+ private long getEnergyEfficiency(long voltage, int distance, boolean overDriveToggle) {
+ if (overDriveToggle) {
+ return (long) ((voltage * 2) - (voltage * Math.pow(overdriveEfficiency, distance)));
+ } else {
+ return (long) (voltage * Math.pow(energyEfficiency, distance));
+ }
+ }
+
+ @Override
+ public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) {
+ super.onPostTick(aBaseMetaTileEntity, aTick);
+ if (aBaseMetaTileEntity.isClientSide()) {
+ return;
+ }
+
+ //Hysteresis based ePowerPass Config
+ long energyMax = getStoredEnergy()[1];
+ long energyStored = getStoredEnergy()[0];
+ float energyFrac = (float) energyStored / energyMax;
+
+ //ePowerPass hist toggle
+ if (!powerPassToggle && energyFrac > histHigh) {
+ powerPassToggle = true;
+ } else if (powerPassToggle && energyFrac < histLow) {
+ powerPassToggle = false;
+ }
+
+ //Stuff to do if ePowerPass
+ if (powerPassToggle) {
+ float rangeFrac = (float) ((-0.5 * Math.pow(energyFrac, 2)) + (1.5 * energyFrac));
+ long outputCurrent = mBatteryCount;
+ transferRadiusTower = (int) (transferRadius * rangeFrac);
+ transferRadiusCover = (int) (transferRadiusTower / 1.25);
+
+ //Clean the eTeslaMap
+ for (Map.Entry<IGregTechTileEntity, Integer> Rx : eTeslaMap.entrySet()) {
+ IGregTechTileEntity node = Rx.getKey();
+ if (node != null) {
+ IMetaTileEntity nodeInside = node.getMetaTileEntity();
+ try {
+ if (nodeInside instanceof GT_MetaTileEntity_TM_teslaCoil && node.isActive()) {
+ GT_MetaTileEntity_TM_teslaCoil teslaTower = (GT_MetaTileEntity_TM_teslaCoil) nodeInside;
+ if (teslaTower.maxEUStore() > 0) {
+ continue;
+ }
+ } else if ((node.getCoverBehaviorAtSide((byte) 1) instanceof GT_Cover_TM_TeslaCoil) && node.getEUCapacity() > 0) {
+ continue;
+ }
+ } catch (Exception e) {
+ }
+ }
+ eTeslaMap.remove(Rx.getKey());
+ }
+
+ //Power transfer
+ while (outputCurrent > 0) {
+ boolean idle = true;
+ for (Map.Entry<IGregTechTileEntity, Integer> Rx : entriesSortedByValues(eTeslaMap)) {
+ if (getEUVar() >= (overdriveToggle ? outputVoltage * 2 : outputVoltage)) {
+ IGregTechTileEntity node = Rx.getKey();
+ IMetaTileEntity nodeInside = node.getMetaTileEntity();
+
+ long outputVoltageInjectable;
+ long outputVoltageConsumption;
+ if (overdriveToggle) {
+ outputVoltageInjectable = outputVoltage;
+ outputVoltageConsumption = getEnergyEfficiency(outputVoltage, Rx.getValue(), true);
+ } else {
+ outputVoltageInjectable = getEnergyEfficiency(outputVoltage, Rx.getValue(), false);
+ outputVoltageConsumption = outputVoltage;
+ }
+ if (nodeInside instanceof GT_MetaTileEntity_TM_teslaCoil && Rx.getValue() <= transferRadiusTower) {
+ GT_MetaTileEntity_TM_teslaCoil nodeTesla = (GT_MetaTileEntity_TM_teslaCoil) nodeInside;
+ if (!nodeTesla.ePowerPass) {
+ if (nodeTesla.getEUVar() + outputVoltageInjectable <= (nodeTesla.maxEUStore() / 2)) {
+ setEUVar(getEUVar() - outputVoltageConsumption);
+ node.increaseStoredEnergyUnits(outputVoltageInjectable, true);
+ thaumLightning(aBaseMetaTileEntity, node);
+ outputCurrent--;
+ idle = false;
+ }
+ }
+ } else if ((node.getCoverBehaviorAtSide((byte) 1) instanceof GT_Cover_TM_TeslaCoil) && !(node.getCoverBehaviorAtSide((byte) 1) instanceof GT_Cover_TM_TeslaCoil_Ultimate) && Rx.getValue() <= transferRadiusCover) {
+ if (nodeInside instanceof GT_MetaTileEntity_TeslaCoil){
+ GT_MetaTileEntity_TeslaCoil nodeTesla = (GT_MetaTileEntity_TeslaCoil) nodeInside;
+ if (nodeTesla.powerPassToggle){
+ continue;
+ }
+ }
+ if (node.injectEnergyUnits((byte) 1, outputVoltageInjectable, 1L) > 0L) {
+ setEUVar(getEUVar() - outputVoltageConsumption);
+ thaumLightning(aBaseMetaTileEntity, node);
+ outputCurrent--;
+ idle = false;
+ }
+ }
+ if (outputCurrent == 0) {
+ break;
+ }
+ } else {
+ idle = true;
+ break;
+ }
+ }
+ if (idle) {
+ break;
+ }
+ }
+ }
+ sparkCount++;
+ if (sparkCount == 60 && !sparkList.isEmpty()) {
+ sparkCount = 0;
+ NetworkDispatcher.INSTANCE.sendToAllAround(new RendererMessage.RendererData(sparkList),
+ aBaseMetaTileEntity.getWorld().provider.dimensionId,
+ aBaseMetaTileEntity.getXCoord(),
+ aBaseMetaTileEntity.getYCoord(),
+ aBaseMetaTileEntity.getZCoord(),
+ 256);
+ }
+ sparkList.clear();
+ }
+}
\ No newline at end of file |